1. 스타터 (Starter)
스프링이 제공하는 특정 모듈을 사용 할 수 있도록 관련된 라이브러리 의존성을 해결
프로젝트에 필요한 모듈이 있으면 해당 모듈에 해당하는 스타터만 추가해주면 알아서 관련 라이브러리까지 묶어서 패키지처럼 제공해주므로, 사용자가 일일이 해당 모듈이 필요한 라이브러리를 찾아서 추가 할 필요가 없다.
"spring-boot-starter-모듈명" 형태로 구성되어 있다.
pom.xml 에서 웹 스타터 예시
(간단한 MVC 웹 프로젝트 시 수많은 라이브러리가 필요하나, 아래 1개의 스타터 추가로 관련 라이브러리가 패키지 형태로 자동 설정된다.)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
pom 파일의 상속구조로 위 1개의 스타터로 여러 라이브러리를 쉽게 설정 해준다. pom.xml에 궁금한 스타터에 Ctrl+마우스 클릭 시 다시 해당 pom 파일이 열리며 확인가능.
아래 스프링 공식 사이트에서 스타터 목록을 볼 수 있다.
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using.build-systems.starters
2. 자동설정 (AutoConfiguration)
스타터를 통해 추가한 모듈을 사용 할 수 있도록 관련된 빈 설정을 자동으로 처리
스프링부트 메인 클래스의 @SpringBootApplication 어노테이션에서 모든 것이 시작된다.
소스에서 Ctrl+마우스 클릭 시 해당 소스(java)가 열리며 내용 확인이 가능하다.
위 SpringBootApplication.java에서 중요한 어노테이션은 아래 3가지
- @SpringBootConfiguration
- @ComponentScan
- @EnableAutoConfiguration
@SpringBootConfiguration
기존 스프링 프레임웍에서 사용하던 환경설정 빈 클래스 표현인 @Configuration과 동일
@ComponentScan
@Configuration, @Repository, @Service, @Controller, @RestController가 붙은 객체를 메모리에 올리는 역할
@EnableAutoConfiguration
스프링부트 자동설정의 핵심 어노테이션으로 스프링 부트가 구동될때, 필요한 빈들을 자동으로 컨테이너에 등록해주는 역할을 한다.
@EnableAutoConfiguration이 등록하는 빈들의 목록은 spring-boot-autoconfigure-2.X.X.RELEASE.jar 파일에 포함되어 있다. (META-INF/spring.factories 이 파일을 참조하여 여러가지 빈을 자동으로 생성한다.)
3. 액추에이터 (Actuator)
스프링 부트로 개발된 시스템을 모니터링 할 수 있는 다양한 기능을 제공
'개발 > spring, spring boot' 카테고리의 다른 글
[Spring Boot] 독립적으로 실행 가능한 JAR 배포 (0) | 2021.08.01 |
---|---|
[Spring Boot] 로깅 (0) | 2021.07.12 |
[String Boot] 컴포넌트 스캔 개념 (0) | 2021.06.30 |
[String Boot] 배너 변경 (0) | 2021.06.24 |
[Spring Boot] Thymeleaf 예제 (0) | 2021.01.17 |
댓글