Last updated
Last updated
starter 들은는 응용 프로그램에 포함 할 수있는 편리한 종속성 설명자 집합입니다. 샘플 코드를 통해 사용하고 종속성 설명자의 복사 - 붙여 넣기 작업을 수행하지 않고도 필요한 모든 Spring 및 관련 기술을 원스탑으로 얻을 수 있습니다. 예를 들어 데이터베이스 액세스를 위해 Spring과 JPA를 사용하려면 프로젝트에 spring-boot-starter-data-jpa
종속성을 포함시킵니다.
starter에는 프로젝트를 신속하게 가동하고 일관성 있고 지원되는 관리 전이 의존성 세트로 필요한 많은 의존성이 있습니다.
스프링부트에서 starter 란 의존성과 설정을 자동화 해주는 모듈!
예를 들어 spring-boot-starter-data-jpa
의존성을 추가했을 때 발생하는 일
spring-aop, spring-jdbc 등의 의존성을 걸어준다.
클래스패스를 뒤져서 어떤 데이터베이스를 사용하는 지 파악하고 자동으로 EntityManager를 구성해준다.
해당 모듈들 설정에 필요한 properties 설정을 제공한다.
What’s in a name
모든 공식 starter는 비슷한 이름 지정 패턴을 따릅니다. spring-boot-starter-*
, *
는 특정 유형의 응용 프로그램입니다. 이 명명 구조는 starter를 찾아야 할 때 도움을 주기 위한 것입니다. 많은 IDE에서 Maven 통합을 통해 의존성을 이름으로 검색 할 수 있습니다. 예를 들어 적절한 Eclipse 또는 STS 플러그인이 설치된 경우 POM 편집기에서 ctrl-space
를 누르고 전체 목록을 보려면 "spring-boot-starter"를 입력 할 수 있습니다.
""섹션에서 설명했듯이 third party starter는 공식 Spring Boot 아티팩트 용으로 예약되어 있으므로 spring-boot
로 시작하지 않아야합니다. 오히려 일반적으로 third-party starter는 프로젝트 이름으로 시작합니다. 예를 들어 thirdpartyproject
라는 third-party starter 프로젝트는 일반적으로 thirdpartyproject-spring-boot-starter
라는 이름을 갖습니다.
org.springframework.boot
그룹 아래에 Spring Boot가 제공하는 애플리케이션 스타터는 다음과 같습니다.
마지막으로 스프링 부트는 당신이 특정 기술적 측면을 배제하거나 변경하고자 할때 사용할 수 있는 다음과 같은 스타터들을 포함하고 있다.
애플리케이션 starter 외에 다음의 starter를 사용하여 기능을 추가 할 수 있습니다.
Name
Description
Pom
spring-boot-starter-actuator
스프링 부트의 Actuator를 사용하기 위한 스타터. 스프링 부트의 Actuator는 어플리케이션 관리와 모니터링을 도와주는 생산 준비 기능을 제공한다.
Name
Description
Pom
spring-boot-starter-jetty
내장 서블릿 컨테이너로 Jetty를 사용하기 위한 스타터. spring-boot-starter-tomcat
를 대신한다.
spring-boot-starter-log4j2
로깅을 위해 Log4j2를 사용하기 위한 스타터. spring-boot-starter-logging
을 대신한다.
spring-boot-starter-logging
로그백(Logback)을 이용한 로깅을 위한 스타터. 기본 로깅 스타터이다.
spring-boot-starter-reactor-netty
Reactor Netty를 내장된 반응형 HTTP 서버로 사용할 경우 이용하는 스타터.
spring-boot-starter-tomcat
내장형 서블릿 컨테이너로 톰켓을 사용할 경우를 위한 스타터. spring-boot-starter-web
의 기본 서블릿 컨테이너 스타터이다.
spring-boot-starter-undertow
내장형 서블릿 컨테이너로 언더토우(Undertow)를 사용하기 위한 스타터. spring-boot-starter-tomcat
의 대신한다.
Name
Description
Pom
spring-boot-starter
자동 구성 지원, 로깅, YAML(설정 파일)을 포함한 핵심 스타터
spring-boot-starter-activemq
아파치 ActiveMQ를 사용한 JMS (Java Message Service) 메세징을 위한 스타터
spring-boot-starter-amqp
스프링 AMQP와 Rabbit MQ를 위한 스타터
spring-boot-starter-aop
Spring AOP와 AspectJ을 이용한 관점지향 프로그래밍을 위한 스타터
spring-boot-starter-artemis
아파치 Artemis를 사용한 JMS 메세징을 위한 스타터
spring-boot-starter-batch
스프링 배치(대용량 데이터 처리를 지원)를 위한 스타터
spring-boot-starter-cache
스프링 프레임워크의 캐싱을 지원하기 위한 스타터
spring-boot-starter-cloud-connectors
Cloud Foundry나 Heroku와 같은 클라우드 플랫폼 서비스에 연결을 간단하게 해주는 스프링 클라우드 연결자 사용을 위한 스타터
spring-boot-starter-data-cassandra
카싼드라에서 배포한 데이터와 스프링 데이터 카산드라 사용을 위한 스타터
spring-boot-starter-data-cassandra-reactive
카싼드라에서 배포한 데이터와 스프링 데이터 카산드라 Reactive 사용을 위한 스타터
spring-boot-starter-data-couchbase
문서지향 데이터베이스인 Couchbase와 Spring Data Couchbase를 사용하기 위한 스타터
spring-boot-starter-data-couchbase-reactive
문서지향 데이터베이스인 Couchbase와 Spring Data Couchbase Reactive를 사용하기 위한 스타터
spring-boot-starter-data-elasticsearch
Elasticsearch 검색과 분석엔진과 Spring Data Elasticsearch 을 사용하기 위한 스타터
spring-boot-starter-data-jdbc
Spring Data JDBC 사용을 위한 starter
spring-boot-starter-data-jpa
Spring Data JPA와 하이버네이트(Hibernate)를 사용하기 위한 스타터
spring-boot-starter-data-ldap
Spring Data LDAP (Lightweight Directory Access Protocol)를 사용하기 위한 스타터
spring-boot-starter-data-mongodb
문서지향 데이터베이스인 몽고디비와 Spring Data MongoDB 사용을 위한 스타터
spring-boot-starter-data-mongodb-reactive
문서지향 데이터베이스인 몽고디비와 Spring Data MongoDB Reactive 사용을 위한 스타터
spring-boot-starter-data-neo4j
Neo4j 그래프 데이터베이서와 Spring Data Neo4j를 사용하기 위한 스타터
spring-boot-starter-data-redis
Spring Data Redis와 Lettuce client를 이용해 key-value 데이터 저장소인 Redis를 사용하기 위한 스타터
spring-boot-starter-data-redis-reactive
Spring Data Redis reactive와 Lettuce client를 이용해 key-value 데이터 저장소인 Redis를 사용하기 위한 스타터
spring-boot-starter-data-rest
Spring Data REST를 사용해 REST로 Spring Data 리포지토리들을 나타나도록 하기 위한 스타터
spring-boot-starter-data-solr
아파치 Solr 검색 플렛폼을 Spring Data Solr로 사용하기 위한 스타터
spring-boot-starter-freemarker
FreeMarker View를 이용해 MVC 웹 어플리케이션을 구축하기 위한 스타터
spring-boot-starter-groovy-templates
Spring MVC와 Spring HATEOAS를 이용해 하이퍼미디아 기반의 RESTful 웹어플리케이션 구축을 위한 스타터
spring-boot-starter-hateoas
Spring MVC와 Spring HATOAS를 이용한 하이퍼 미디어 기반의 RESTful 웹 어플리케이션 구축을위한 starter
spring-boot-starter-integration
스프링 통합에 사용되는 스타터
spring-boot-starter-jdbc
Tomcat JDBC 커텍션 풀을 이용해서 JDBC를 사용하기 위한 스타터
spring-boot-starter-jersey
JAX-RS와 Jersey를 사용해 RESTful 웹어플리케이션을 구축하기 위한 스타터. spring-boot-starter-web
의 대체제
spring-boot-starter-jooq
JOOQ를 이용해 SQL 데이터베이스에 접근하기 위한 스타터. spring-boot-starter-data-jpa
나 spring-boot-starter-jdbc
의 대체제
spring-boot-starter-json
json을 읽고 쓰기 위한 스타터
spring-boot-starter-jta-atomikos
Atomikos를 이용해 JTA 트랜잭션 처리를 하기 위한 스타터
spring-boot-starter-jta-bitronix
Bitronix를 이용해 JTA 트랜잭션 처리를 하기 위한 스타터
spring-boot-starter-mail
Java Main과 스프링 프레임워크의 email sending 지원을 사용하기 위한 스타터
spring-boot-starter-mustache
Mustache View를 이용해 웹어플리케이션을 구축기 위한 스타터
spring-boot-starter-oauth2-client
Spring Security의 OAuth2 / OpenID Connect 클라이언트 기능을 사용하기위한 starter
spring-boot-starter-oauth2-resource-server
Spring Security의 OAuth2 리소스 서버 기능을 사용하기위한 스타터
spring-boot-starter-quartz
Quartz 스케줄러 사용을 위한 스타터
spring-boot-starter-security
Spring Security 사용을 위한 스타터
spring-boot-starter-test
JUnit, Hamcrest 및 Mockito를 포함한 라이브러리를 사용하여 Spring Boot 애플리케이션을 테스트하기위한 스타터
spring-boot-starter-thymeleaf
Thymeleaf 뷰를 사용하여 MVC 웹 응용 프로그램을 작성하기위한 스타터
spring-boot-starter-validation
Hibernate Validator와 함께 Java Bean 유효성 검사를 사용하기위한 스타터
spring-boot-starter-web
스프링 MVC를 이용해 RESTful을 포함한 웹 어플리케이션을 구축하기 위한 스타터. 기본 내장 컨테이너로 톰켓을 사용한다.
spring-boot-starter-web-services
스프링 웹서비스를 사용하기 위한 스타터
spring-boot-starter-webflux
스프링 프레임워크의 반응형 웹 지원(Reactive Web support)을 이용해 WebFlux 어플리케이션을 구축하기 위한 스타터
spring-boot-starter-websocket
스프링 프레임워크의 웹소켓 지원(WebSocket supoort)를 이용해 WebSocket 어블리케이션을 구축하기 위한 스타터
커뮤니티가 기여한 다른 starter의 목록은 GitHub의 spring-boot-starters
모듈에있는 README file을 참조하십시오.