-
스프링 부트 설정원리spring 2019. 3. 5. 22:43
스프링 부트 실행1 opinated view - 가장 많이 쓰이는 기본 설정을 제공(컨벤션)
3rd party 기본 제공(톰캣)
더 빠르고 폭넓은 개발
빠른 설정의 변경 가능
스프링 부트 실행
spring starter project 생성하면 이미 다 추가되어있음
pom.xml에 추가되는 3가지!
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
이 3가지로 전부 다 추가됨 개꿀...
부트 프로젝트 구조
resources
/root로 전부 참조할 수 있음
@springBootApplication 을 붙인 main() 은 최상위(디폴트)가 좋다
이 어노테이션이 붙은 패키지 아래의 것들을 다 componentScan을 시작하여 빈으로 등록하기 때문!
부트의 dependency 관리법
parents로 관리(starter-parent)
관리하는 의존성이 줄어든다(개편함 일이 줄어듬)
이미 관리하는 의존성이면 버전을 표시하지 않아도 알아서 상속받아옴
리소스, 플러그인 설정 자동 세팅 등이 되니까 편리함!
dependency management로 직접 설정이 되지만 부트관리 설정이 안 따라오기 때문에 비추
의존성 추가해보기
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
아티팩트 아이디 자동완성으로 뜨는 경우는 버전 명시 하지 않아도 알아서 들어옴!
하지만 버전을 명시하는 것이 가장 best practice 이기 때문에 확인하여 가져오는 게 좋음
spring, java 버전 내가 원하는 걸로 바꾸기
properties 에서 버전을 명시해주면 바뀜 ! 오버라이딩 되는 원리로 버전이 바뀜!
자동설정
@SpringbootApplication
configuration +componentScan+autoConfiguration 3개 합친거같은 개념쓰
@EnableAutoConfiguration (@SpringbootApplication에 포함되어 있음) 스프링 부트는 빈을 두번 등록함!
1단계 : @componentScan
@component 를 가진 class 스캔하여 빈으로 등록
2단계 : @EnableAutoConfiguration
@configuration 자바 설정 파일임 ...
'spring' 카테고리의 다른 글
intellij 초기 설정법 링크 (0) 2019.04.03 토비의 스프링 2장 테스트(코드없음) 내용요약 (0) 2019.02.28 spring git 연동하기 (0) 2019.01.26