on
스프링 부트 원리 : 정리
스프링 부트 원리
총정리
지금까지 살펴본 Spring Boot의 원리를 짧게 정리한다.
pom.xml 파일의 dependency 부분에 spring-boot-starter-web이 있다. 이 의존성 하나만으로도 많은 의존성이 들어오게 되는데 이 것이 spring boot starter의 역할이다. starter는 의존성을 관리한다.
의존성 관리를 받는 원리는 maven의 spring-boot-starter-parent 그 위인 spring-boot-dependencies에서 Spring Boot가 사용하는 주요 라이브러리들의 버전이 관리되는 것을 볼 수 있다.
dependencyManagement로 의존성을 관리할 수 있지만 parent로 관리하는 것과는 큰 차이가 있다.
https://yadon079.github.io/2021/spring%20boot/boot-principle
자동 설정
@SpringBootApplication
안에 @EnableAutoConfiguration
과 @ComponentScan
이 있다. Spring Boot는 Bean을 두 단계로 나눠 등록한다. 첫 번째 단계는 @ComponentScan
으로 Bean을 스캔해서 등록한다. 그 다음 등록된 정보를 바탕으로 또 Jar 파일에 들어 있는 META-INF 중에 spring.factories 그 안에 들어있는 autoconfiguration class들의 목록을 참조해서 자동설정을 시작한다.
이 때 원래 Bean을 기반하여 등록한다. 예를들어 @ConditionalOnMissingBean
과 같이 기존에 Bean이 없는 경우 등록하는 것이있다.
Spring Boot는 이와 같이 최대한 개발자가 재정의하거나 설정해야할 부분들을 최대한 줄여주고 있다.
Spring Boot는 독립적으로 Application을 실행하는 것이 목표 중 하나이므로 내장 웹 서버가 들어있다.
Reference
Comments
SPRING BOOT 의 다른 글
-
스프링 부트 활용 : 스프링 데이터 4부 17 Sep 2021
-
스프링 부트 활용 : 스프링 데이터 3부 16 Sep 2021
-
스프링 부트 활용 : 스프링 데이터 2부 15 Sep 2021
-
스프링 부트 활용 : 스프링 데이터 1부 14 Sep 2021
-
스프링 부트 활용 : 스프링 웹 MVC 11부 13 Sep 2021
-
스프링 부트 활용 : 스프링 웹 MVC 10부 10 Sep 2021
-
스프링 부트 활용 : 스프링 웹 MVC 9부 09 Sep 2021
-
스프링 부트 활용 : 스프링 웹 MVC 8부 08 Sep 2021
-
스프링 부트 활용 : 스프링 웹 MVC 7부 03 Sep 2021
-
스프링 부트 활용 : 스프링 웹 MVC 6부 05 Aug 2021
-
스프링 부트 활용 : 스프링 웹 MVC 5부 27 Jun 2021
-
스프링 부트 활용 : 스프링 웹 MVC 4부 13 Jun 2021
-
스프링 부트 활용 : 스프링 웹 MVC 3부 06 Jun 2021
-
스프링 부트 활용 : 스프링 웹 MVC 2부 05 Jun 2021
-
스프링 부트 활용 : 스프링 웹 MVC 1부 30 May 2021
-
스프링 부트 활용 : Spring-Boot-Devtools 30 May 2021
-
스프링 부트 활용 : 테스트 26 May 2021
-
스프링 부트 활용 : 로깅 2부 25 May 2021
-
스프링 부트 활용 : 로깅 1부 23 May 2021
-
스프링 부트 활용 : 프로파일 23 May 2021
-
스프링 부트 활용 : 외부 설정 2부 21 May 2021
-
스프링 부트 활용 : 외부 설정 1부 15 May 2021
-
스프링 부트 활용 : SpringApplication 11 May 2021
-
스프링 부트 원리 : 정리 06 May 2021
-
스프링 부트 원리 : 독립적으로 실행 가능한 JAR 06 May 2021
-
스프링 부트 원리 : 내장 웹 서버 04 May 2021
-
스프링 부트 원리 : 자동 설정 02 May 2021
-
스프링 부트 원리 : 의존성 01 May 2021
-
스프링 부트 시작하기 01 May 2021