반응형
백기선님의 스프링 부트 2.0 유튜브 강의를 보고 정리한 내용입니다
스프링 부트 2.0 Day 3. 스프링 부트 스타터 - 백기선
해당 영상은 spring-boot 공식 reference를 보며 학습하는 내용입니다
Sprin-boot-starter
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
- Spring-boot-starter- 로 시작하는 스타터 의존성들은 SpringBoot를 더 편리하게 만들어 놓은 의존성 집합이다
- 해당 의존성 집합들은 다른 스타터 의존성들, 기본 Spring-boot-stater-parent와 충돌나지 않게 잘 설정해준다
AutoConfigure module
라이브러리를 시작할때 필요한 모든 것들을 담고 있는 모듈- @ConfigurationProperties
- 정의된 preperties를 Object에 바인딩 받을 수 있다
- @ConfigurationProperties
Technical staters
기본 default로 설정되는 의존성들을 바꿔낄 수 있는 스타터 집합
spring-boot-stater-jetty
(default: tomcat)spring-boot-stater-log4j2
(default: logback)spring-boot-stater-reactor-netty
- Springboot는 코드 구조를 강요하지 않지만, default 패키지를 권장하지 않습니다
- default package: 클래스패스 밑에 어떠한 package도 없이 정의되는 class
- @ComponentScan, @EntityScan, @SpringBootApplication등 package 기반으로 스캔하는 동작들의 불필요한 scan 작업을 줄일 수 있다
- @SpringBootApplication이 붙은 main class는 root package 바로 밑에 두는 것을 권장
- 그래야 root package 하위의 모든 클래스들을 스캔한다
- SpringBoot는 java 기반의 설정(Configuration)을 선호한다
- 기존 Spring처럼 xml 파일 기반의 설정을 사용할 수도 있으나 두 가지 방식중 반드시 한가지를 메인방식으로 정의해야한다
- @Configuration 클래스를 하나만 쓸 필요는 없다
@Import를 통해 @Configuration이 정의된 클래스에 다른 설정을 끌고 들어올 수 있으며,
@ComponentScan, 나아가 @SpringBootApplication을 통해 하위 패키지를 스캔하며 설정파일을 로드할 수 있다
728x90
반응형
'Study > 백기선님의 스프링 부트 강의' 카테고리의 다른 글
Day 4. @SpringBootApplication과 XML 빈 설정 파일 사용하기 (0) | 2021.08.07 |
---|---|
Day 2. Executable JAR 어떻게 만들고 어떻게 동작하는가 (0) | 2021.08.07 |
Day 1. 스프링 부트 시작하기 정리 (0) | 2021.08.07 |