1. Maven 세팅

2. Linux Maven 실행

3. Spring Boot 자동 설정 개요

4. 자동 설정 만들기 -1 Starter와 AutoConfigure

5. 자동 설정 만들기 -2 @ConfigurationProperties

1. Maven 세팅

Untitled

2. Linux Maven 실행

2-1) mvn package

Untitled

2-2) java -jar target/spring-boot-getting-st-1.0-SNAPSHOT.jar

Untitled

3. Spring Boot 자동 설정 개요

3-1) SpringBootApplication

SpringBootApplication은 세 개의 어노테이션을 하나로 합쳐 놓은 형태임.

3-2) SpringBookApplicaiton Bean 등록

1단계 : ConmponentScan으로 등록

2단계 : EnableAutoConfiguration으로 추가적으로 읽어온 Bean들을 읽어서 등록함.

3-3) ComponentScan

3-3)-1. ComponentScan의 역할

@ComponentScan은 자기 자신부터 시작해서, 하위 패키지를 싹 훑어서

@Component라는 어노테이션을 붙인 클래스들을 찾아서 Bean으로 등록한다.

3-3)-2. 하위 패키지들

@Configuration @Repository @Service @Controller @RestController

3-4) EnableAutoConfiguration

3-4)-1. EnableAutoConfiguration의 역할

Configuration는 Bean을 읽어들이기 위한 조건 등이 정의된 설정 파일이다.

Untitled

Untitled

4. 자동 설정 만들기 -1 Starter와 AutoConfigure

4-1) springbootgettingst(자동설정 기능 구현 디렉토리)

Untitled

4-1)-1. Maven 설정

Untitled

4-1)-2. @Configuration 파일 작성

Untitled

4-1)-3. 자동설정 파일 추가하기

4-2) springbootgettingstarted(자동설정 기능 주입 디렉토리)

4-2)-1. maven 의존성 추가하기

Untitled

4-2)-2. Application

4-2)-3. HolomanRunner

→ ApplicationRunner를 만드는 이유는 args 인자를 받아서

→ Spring Application이 만들어지고 띄웠을 때 자동으로 실행되는 빈을 만들고 싶을 때

Untitled

Untitled

→ Holoman이라는 빈이 있다는 게 증명 됨.

4-2)-4. Application에서 @Bean을 등록한다면

5. 자동 설정 만들기-2 @ConfigurationProperties