Spring Boot에서의 부트스트랩이란?
일반적으로 부트스트랩(Bootstrap)이란 어떠한 과정이 시작되어 알아서 진행되는 일련의 과정을 의미합니다.
컴퓨터의 부팅 과정을 생각해보면 이해가 쉬울것입니다.
우리가 컴퓨터 전원을 켜게 되면 일반적으로 다음과 같은 작업이 내부적으로 진행이 됩니다
- 전원을 켜면 컴퓨터 전원이 잘 공급되는지를 확인한다.
- 중앙 처리 장치의 상태를 점검한다.
- ROM에서 컴퓨터의 입출력 장치 및 램과 같은 주요 기본 장치들에 대한 정보를 읽어들여서 정상 동작 유무를 확인한다.
- 운영체제를 램으로 읽어 들여서 실행한다.
Spring Boot에서의 부트스트랩도 컴퓨터 부팅 과정과 유사합니다.
Spring Boot 애플리케이션이 실행이 되면, 클라이언트가 사용 가능한 애플리케이션으로 동작하기 위한 사전 작업을 거치게 됩니다.
Spring Boot 애플리케이션을 어떻게 부트스트랩 시킬 수 있을까요?
[코드 1-1]
1
2
3
4
5
6
7
|
@Configuration
@EnableAutoConfiguration
public class CoffeeApplication {
public static void main(String[] args) {
SpringApplication.run(CoffeeApplication.class, args);
}
}
|
cs |
대부분의 Spring Boot 애플리케이션은 [코드 1-1]과 같이 run() 메서드를 호출해서 부트스트랩을 진행할 수 있습니다.
[코드 1-2]
1
2
3
4
5
6
7
8
9
|
@Configuration
@EnableAutoConfiguration
public class CoffeeApplication {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(CoffeeApplication.class);
// 애플리케이션 설정 커스터마이징..
application.run(args)
}
}
|
cs |
[코드 1-2]와 같이 애플리케이션 부트스트랩 전에 애플리케이션 설정을 커스터마이징 할 수도 있습니다.
Spring Boot에서는 부트스트랩 과정에서 어떤 일이 일어날까요?
- 클래스 패스 내에서 ApplicationContext 인스턴스를 생성한다.
- 커맨드라인 매개 변수들을 Spring의 프로퍼티로 구성하기 위해 CommandLinePropertySource를 등록한다.
- 모든 싱글톤 bean들을 로드한 후, 애플리케이션 컨텍스트를 갱신한다.
- CommandLineRunner bean들이 존재한다면 트리거(Trigger) 시킨다.
'Java Backend 개발자 되기 > Spring Boot' 카테고리의 다른 글
@SpringBootApplication 의 역할 (0) | 2022.04.12 |
---|