날아라쩡글이의 블로그입니다.
springboot사용, 설정하기 본문
728x90
반응형
vue은 main.js에서 app과 router을 연결하고, 데이터를 뿌리는 것은 spring Boot에서 Rest방식으로 가져올 수 있다.
SpringBoot는 운영환경에서도 사용가능한 프로토타입으로 프로젝트를 만들 수 있는 것이다.
- 실행가능한 파일을 빨리 만드는 것이다.
- 설정을 최소화하고 의존성라이브러리를 적는 것이 아닌 spring boot에서 UI인 체크박스로 적용한다.
- spring은 설정파일이 존재하지 않고, 항상 정해진 이름이 있다.
- 임의로 정해지고, 이름을 알려줄 필요가 없다.
- COC라는 방식으로 개발을 한다.
- 설정 보단 관례
- spring Application은 빠르게 움직인다.
- 먼저 lombok.jar를 다운받는다.
- Location에서 전자정부프레임워크에서 eclipse를 선택하고 install을 한다.
- 그럼 lombok이 같은 파일이 존재하고, aboutEclips IDE에 lombok이 추가 되어있다.
- new ->project -> spring start를 설치한다.
- war ->jsp를 사용하려면 이 설정으로 해야한다. 우리는 현재 vue로 진행예정으로 jar을 설치할 것이다.
- groupid를 적고 이용할 주소를 적고
- web ->springweb
- mybatis ->mybatis framework
- oracle ->oracleDriver
- lombok
- devto ->spring Boot DevTools
- 을 클릭하고 완료를 눌러준다.
- 설정방법
- application.properties
- context-root와 context-web.xml의 역활을 수행한다.
- key:value의 형태로 작성한다. - application.properties에 logger와 port번호, connectionPool을 설정한다.
-#loggin level
logging.level.root=INFO
-#webserver port number
server.port=8081
-#connectionPool
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@LAPTOP-MP9I3VRU:1521:xe
spring.datasource.username=hr
spring.datasource.password=zxcv1234 - 이제 xml은 필요없고, 자바코드로 환경설정을 대신한다.
- 폴더 설명
- src/main/java - springbootBookstore Application : 메소드로 하위패키지를 읽어들여서 다시 시작하게 한다.
- static : 정적리소스가 들어간다. css/js/img
- template : jsp외의 다른 웹 기술/페이지가 들어간다.
- jsp는 다른 설정이 필요하다. war로 작업해야한다.
- 타임리프트 템플릿엔진이 들어간다.
- springbootBookstore Application의 어노테이션을 확인한다.
- 자동으로 생긴 객체와 메소드가 들어있다.
- @SpringBootApplication 어노테이션이 부착되어있다.
- @SpringBootConfiguration
- @Configuration이 부착되어있다. 자바클래스가 환경설정파일이 된다.
- @EnableAutoConfiguration
- 스프링부트에서 프로젝트에서 포함해놓은 라이브러리인지 확인하고 설정정보를 읽고 핵심객체를 알아서 빈으로 등록한다.
- @ComponentScan
- 클래스에 위치한 패키지 및 하위클래스를 스프링의 빈으로 등록한다
- 여기외에 위치한 파일은 서버에 올릴 수 없다.
- Configuration이 붙여있다면 설정정보를 확인해서 특정라이브러리가 있는지 확인한다.
- java로 변경하면 BootDashBoard가 존재하는 것을 확인할 수 있다.
-
pom.xml에 가서 확인을 하면
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>가 있는 것을 확인할 수 있다.- web에 필요한 라이브러리가 전부 추가되고, 그룹을 지어놓았기 때문에 spring-boot로 모든 아키텍쳐id가 적힌 것을 알 수 있다.
- 추가로 등록시 우측마우스를 누르고, spring ->addspring을 누르면 추가 데이터를 넣을 수 있다.
- dependency를 추가할 경우 설정없이 사용이 가능하다.
- DAO를 설정한다.
- bookstore패키지 안에 mapper패키지를 추가하고, BookMapper라는 아이디로 입력해준다.
- @Mapper인 어노테이션을 등록한다.
- springbootBookstroreAppliction에 mapper링크를 걸어준다.
- @MapperScan(basePackages = "com.sample.bookstore.web.mapper")으로 mapper경로를 읽어와서 mapper로 등록한다는 의미이다.
- mapper-config과 mapper파일을 설정하자.
- resource에 mybatis 파일을 설정한다.
- mybatis에 mapper-config파일을 설정한다
- settings를 태그를 연다.
- setting태그에 name과 value로 작성한다.
- mybatis를 이용해서 실행하는 작업인 log4j2를 등록한다.
- <setting name="logImpl" value="LOG4J2"/>
- null값이 허용된 컬럼에 null값을 입력할 때 컬럼타입에 상관없이 입력하는 null을 작성한다.
- <setting name="jdbcTypeForNull" value="NULL"/>
- 그리고 mapper파일을 안에 하나 더 작성한다.
- 그리고 안에 BookMapper로 DAO와 동일한 이름을 작성한다.
- Dao로 select와 resultType을 설정한다.
- application.properties에 경로를 등록한다.
- #mybatis mybatis의 설정파일을 지정한다.
mybatis.config-location=classpath:/mybatis/mybatis-config.xml //config을 등록한다.
mybatis.mapper-locations=mybatis/mappers/*xml //mapper전체를 등록한다.
- #mybatis mybatis의 설정파일을 지정한다.
- vo객체를 입력한다.
- vo의 private를 작성한다.
- lombok에서 등록한 어노테이션을 사용할 예정이다.
- @Getter //getter
- @Setter //setter
- @NoArgsConstructor //매개변수가 없는 생성자
- @AllArgsConstructor //모든 매개변수를 reset하는 생성자
- @ToString //재정의
- @Builder //빌드패턴
- 모든 매개변수를 reset하는 생성자와 함께 사용이 가능하다.
- @Builder
public Book(int no, Sting title) {
this.no = no;
this.title = title;
} //모든매개변수를 reset하는 생성자 위에 작성할 수 있다. - Builder패턴이랑 각각의 값을 초기화하는 메소드로 생성자를 여러개 만들 필요가 없게 만들어주는 생성자이다. 매개변수가 8개라면 경우의 수가 많다.
- Builde패턴은 생성자가 상관없이 만들어주는 방법이다.
- Service 패키지를 생성한다.
- @Service 어노테이션을 단다.
- @Autowired로 Dao를 담는다.
- @Autowired
private BookMapper bookmapper;
- @Autowired
- 그리고 메소드를 작성한다.
- Controller를 작성한다. JSON으로 화면을 보낼 수 있게
- @RestController를 작성해준다 JSON으로 응답을 보낼것이기 때문
- @RequestMapping("/api/book")
//api/book이라는 경로가 넘어오면 보내주는 mapping을 진행한다. - @AutoWired로 Service를 연결한다.
- @GetMapping으로 보낼 메소드를 적어준다.
- @CrossOrigin으로 승인 요청이 되는 주소를 적어준다.
(origins = "*") || (origins = "http://localhost:8080")으로
- @SpringbootBookstoreApplication인 메소드를 실행하는 것이다.
- 어노테이션을 이용해서 환경설정을 맞추고, mabatis는 mapperinterface를 스캔한다.
- 나중에 필요하면 이 페이지에서 bean으로 등록할 수 있다
- @Bean
public BookService getBookService() {
return new BookService();
//이렇게 메소드로 호출하는 빈으로 등록가능하다 xml을 따로 만들지 않고 이렇게 설정하자 라는 것이다.
} - 빈으로 등록이 되었다.
- spring boot는 URL로 접근시 책정보를 전달해준다. openAPI로 작용된다.
- @SpringBootConfiguration
반응형
'중앙 HTA (2106기) story > spring java framwork story' 카테고리의 다른 글
springboot insert시키기 (0) | 2022.01.16 |
---|---|
vue.js와 springboot AJAX로 전송하기 (0) | 2022.01.14 |
AOP만들기 (0) | 2022.01.12 |
AOP(Aspect Oriented Programming) (0) | 2022.01.11 |
트랜잭션 @transactional (0) | 2022.01.11 |
Comments