스프링부트는 라이브러리들을 편리하게 사용할 수 있게 다양한 기능들을 제공한다고 합니다.
- 외부 라이브러리 버전 관리
- 스프링 부트 스타터 제공
이런 기능들이 없으면 수 많은 라이브러리를 직접 버전까지 골라서 선택해야 하고 라이브러리들 간에 서로 호환이 잘 되는지 확인도 해야하는 까다로운도 있다.
dependencies {
//2. 스프링 부트 라이브러리 버전 관리
//스프링 웹, MVC
implementation 'org.springframework:spring-webmvc'
//내장 톰캣
implementation 'org.apache.tomcat.embed:tomcat-embed-core'
//JSON 처리
implementation 'com.fasterxml.jackson.core:jackson-databind'
//스프링 부트 관련
implementation 'org.springframework.boot:spring-boot'
implementation 'org.springframework.boot:spring-boot-autoconfigure'
//LOG 관련
implementation 'ch.qos.logback:logback-classic'
implementation 'org.apache.logging.log4j:log4j-to-slf4j'
implementation 'org.slf4j:jul-to-slf4j'
//YML 관련
implementation 'org.yaml:snakeyaml'
}
라이브러리를 보면 버전 정보가 모두 제거되었다. io.spring.dependency-management 가 버전관리를 해준다.
버전 관리 기능을 사용하려면 io.spring.dependency-management 플러그인을 사용해야 한다.
- dependency-management 버전 관리 io.spring.dependency-management 플러그인을 사용하면 spring-boot-dependencies 에 있는 다음 bom 정보를 참고한다.
- 참고로 spring-boot-dependencies 는 스프링 부트 gradle 플러그인에서 사용하기 때문에 개발자의 눈에 의존관계로 보이지는 않는다.
스프링 부트 스타터
dependencies {
//3. 스프링 부트 스타터
implementation 'org.springframework.boot:spring-boot-starter-web'
}
- spring-boot-starter-web 이 라이브러리 하나로 지금까지 우리가 직접 넣어주었던 모든 라이브러리가 포함된다.
- 이것은 사용하기 편리하게 의존성을 모아둔 세트이다.
- 이것을 하나 포함하면 관련 의존성 세트가 한번에 들어온다.
- 스타터도 스타터를 가질 수 있다
- 스프링과 웹을 사용하고 싶으면 spring-boot-starter-web
- 스프링 웹 MVC, 내장 톰캣, JSON 처리, 스프링 부트 관련, LOG, YML 등등
- 스프링과 JPA를 사용하고 싶으면 spring-boot-starter-data-jpa
- 스프링 데이터 JPA, 하이버네이트 등등
'프레임워크 > 스프링' 카테고리의 다른 글
[Spring] 프로메테우스, 그라파나 아키텍처 사용 (0) | 2024.02.16 |
---|---|
[Spring] actuator (0) | 2024.02.15 |
[Spring] AOP 프록시와 내부 호출 문제 해결 방안 3가지 (0) | 2023.01.22 |
스프링 xml 설정 정리 (0) | 2023.01.17 |
Spring @Aspect 범위 애노테이션으로 적용하기 (0) | 2023.01.06 |