728x90
- 앞서 보았듯이 웹 프로젝트를 하나 실행하려면 생각보다 수 많은 라이브러리가 필요하다.
- 스프링 웹 MVC, 내장 톰캣, JSON 처리, 스프링 부트 관련, LOG, YML 등등 다양한 라이브러리가 사용된다.
- 개발자 입장에서는 그냥 웹 프로젝트를 하나 시작하고 싶은 것이고, 일반적으로 많이 사용하는 대중적인 라이브러리들을 포함해서 간단하게 시작하고 싶을 것이다.
- 스프링 부트는 이런 문제를 해결하기 위해 프로젝트를 시작하는데 필요한 관련 라이브러리를 모아둔 스프링 부트 스타터를 제공한다.
- 스프링 부트 스타터 덕분에 누구나 쉽고 편리하게 프로젝트를 시작할 수 있다.
build.gradle - dependencies 수정
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-boot-starter-*
- 쉽게 찾게 도와줌
- 공식: spring-boot-starter-*
- 비공식: thirdpartyproject-spring-boot-starter
- ex) mybatis-spring-boot-starter
|
dependency
|
기능 |
| spring-boot-starter | 핵심 스타터, 자동 구성, 로깅, YAML |
| spring-boot-starter-jdbc | JDBC, HikariCP 커넥션풀 |
|
spring-boot-starter-data-jpa
|
스프링 데이터 JPA, 하이버네이트 |
|
spring-boot-starter-data-mongod
|
스프링 데이터 몽고 |
|
spring-boot-starter-data-redis
|
스프링 데이터 Redis, Lettuce 클라이언트 |
|
spring-boot-starter-thymeleaf
|
타임리프 뷰와 웹 MVC |
|
spring-boot-starter-web
|
웹 구축을 위한 스타터, RESTful, 스프링 MVC, 내장 톰캣 |
|
spring-boot-starter-validation
|
자바 빈 검증기(하이버네이트 Validator) |
|
spring-boot-starter-batch
|
스프링 배치를 위한 스타터 |
스프링 부트 스타터의 전체 목록은 다음 공식 매뉴얼을 참고하자.
Developing with Spring Boot
This section goes into more detail about how you should use Spring Boot. It covers topics such as build systems, auto-configuration, and how to run your applications. We also cover some Spring Boot best practices. Although there is nothing particularly spe
docs.spring.io
라이브러리 버전 변경
외부 라이브러리의 버전을 변경하고 싶을 때 다음과 같은 형식으로 편리하게 변경할 수 있다.
ext['tomcat.version'] = '10.1.4'
ex)
plugins {
id 'org.springframework.boot' version '3.0.2'
id 'io.spring.dependency-management' version '1.1.0'
id 'java'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
//스프링 부트 외부 라이브러리 버전 변경
ext['tomcat.version']='10.1.4'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
}
tasks.named('test') {
useJUnitPlatform()
}
스프링 부트가 관리하는 외부 라이브러리 버전 변경에 필요한 속성 값
- 스프링 부트가 관리하는 외부 라이브러리의 버전을 변경하는 일은 거의 없다. 하지만 아주 가끔 문제가 발생하기도 하므로 알아두자
728x90
'스프링 부트(핵심 원리와 활용)' 카테고리의 다른 글
| Ch04. 자동 구성(Auto Configuration) - 자동 구성 확인 (0) | 2023.03.09 |
|---|---|
| Ch04. 자동 구성(Auto Configuration) - 예제 만들기 (0) | 2023.03.08 |
| Ch03. 스프링 부트 스타터와 라이브러리 관리 - 스프링 부트 라이브러리 버전 관리 (0) | 2023.03.07 |
| Ch03. 스프링 부트 스타터와 라이브러리 관리 - 라이브러리 직접 관리 (0) | 2023.03.07 |
| Ch02. 스프링 부트와 내장 톰캣 - 스프링 부트 실행 가능 Jar (0) | 2023.03.05 |