[데브코스] Spring Boot Configuration
Updated: Categories: TILW5D5 - Spring Boot의 편리한 자동설정 Auto Configuration에 대해 알아보자
Spring Boot로 전환
- 이전까지 Spring만 사용해서 설정했던 것들을 Spring Boot로 설정해보자
application.yaml
에서 정의만 해주면 알아서 설정해준다… (이렇게 편하다고?)
Datasource + 템플릿 엔진 설정
- spring 타이틀 하위로 설정 가능
spring:
datasource:
url: jdbc:mysql://localhost/DB
username: root
password: pw
thymeleaf:
view-names: "views/*"
prefix: "/WEB-INF/"
Servlet Context Path
- server 타이틀 하위로 설정
server:
servlet:
context-path: /기본URL설정
Logging
- Logging 하위로 로깅 레벨을 설정 가능
- 각 Profile의 yaml파일마다 다르게 설정할 수 있다.
logging:
level:
org.springframework: 레벨
결과
- CORS 및 메시지 컨버터(Marshaller) 설정은 기존처럼
WebMvcConfigurer
을 상속받아 작성해줘야함 Auto Configuration
을 통해 자동 설정됨- Resource Handler 설정
- Json 형식 변환 설정
- jdbc 템플릿 설정
Auto Configuration
- 이런 자동 설정은 Spring Boot의
Auto Configuration
덕에 편리하게 사용할 수 있는 것! EnableAutoConfiguration
이라는 인터페이스의 구현체로spring.factories
에서 필요한 Configuration을 긁어온다.Conditional
이라는 구현체를 통해pom.xml
에 import된 모듈의 관련 Bean들만 등록되도록 필터링- 또
@SpringBootApplication
에서 exclude 조건을 줘서 필터링할 수 있다
- 또
- 내부에선
@EnableConfigurationProperties
로 yaml에 정의된 내용들을 Bean에 반영해준다