本来这些东西想跟spring-boot-starter-parent一起说的,后来想想还是单独拿出来吧,查起来也方便。
之所以说starters的最直接原因是我上次找工作的时候,在一次电话面试中对方直接问你知道的starter类有哪些。当时一阵膈应,这个东西还要记吧,用到啥直接搜下放上去不就行了吗?不过,当时还真没留心这些东西,所以趁着这个时间把这个记下来。
对于Starters的解释为,它是便捷的引用,你可以直接放到项目中去。你可以一站式的得到所有的spring及其相关技术。如你要使用spring和,直接在dependency中引入spring-boot-starter-data-jpa即可。
Starters中包含一些你在开发中需要的引用,他们能够是你的项目快速运行起来,并且保持项目的一致性(应该是说的几个不同的项目引用相同starter的时候)。
关于Starters名字的解释:
所有官方的Starters名字都是以spring-boot-starter-为模板,以spring-boot-starter-开始,后边的是其它各个starter各自的,这些命名能够让你快速的找到你所需的starter。一般的maven接口的IDE都能够支持快速定位starter(IDEA中输入一些字母能够把相关的给你自动带出)。
关于第三方的starter,最好不要以spring-boot-starter开头,因为官方需要保留这些因素,为以后的开发预留。如果一个第三方的starter是为acme开发的,可以命名为acme-spring-boot-starter(这里的acme是个示例)。
下面给出在org.springframework.boot组下的starters:
Spring Boot application starters
Name | Description |
---|---|
spring-boot-starter | Core starter, including auto-configuration support, logging and YAML |
spring-boot-starter-activemq | Starter for JMS messaging using Apache ActiveMQ |
spring-boot-starter-amqp | Starter for using Spring AMQP and Rabbit MQ |
spring-boot-starter-aop | Starter for aspect-oriented programming with Spring AOP and AspectJ |
spring-boot-starter-artemis | Starter for JMS messaging using Apache Artemis |
spring-boot-starter-batch | Starter for using Spring Batch |
spring-boot-starter-cache | Starter for using Spring Framework’s caching support |
spring-boot-starter-cloud-connectors | Starter for using Spring Cloud Connectors which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku |
spring-boot-starter-data-cassandra | Starter for using Cassandra distributed database and Spring Data Cassandra |
spring-boot-starter-data-cassandra-reactive | Starter for using Cassandra distributed database and Spring Data Cassandra Reactive |
spring-boot-starter-data-couchbase | Starter for using Couchbase document-oriented database and Spring Data Couchbase |
spring-boot-starter-data-elasticsearch | Starter for using Elasticsearch search and analytics engine and Spring Data Elasticsearch |
spring-boot-starter-data-jpa | Starter for using Spring Data JPA with Hibernate |
spring-boot-starter-data-ldap | Starter for using Spring Data LDAP |
spring-boot-starter-data-mongodb | Starter for using MongoDB document-oriented database and Spring Data MongoDB |
spring-boot-starter-data-mongodb-reactive | Starter for using MongoDB document-oriented database and Spring Data MongoDB Reactive |
spring-boot-starter-data-neo4j | Starter for using Neo4j graph database and Spring Data Neo4j |
spring-boot-starter-data-redis | Starter for using Redis key-value data store with Spring Data Redis and the Jedis client |
spring-boot-starter-data-redis-reactive | Starter for using Redis key-value data store with Spring Data Redis reactive and the Lettuce client |
spring-boot-starter-data-rest | Starter for exposing Spring Data repositories over REST using Spring Data REST |
spring-boot-starter-data-solr | Starter for using the Apache Solr search platform with Spring Data Solr |
spring-boot-starter-freemarker | Starter for building MVC web applications using FreeMarker views |
spring-boot-starter-groovy-templates | Starter for building MVC web applications using Groovy Templates views |
spring-boot-starter-hateoas | Starter for building hypermedia-based RESTful web application with Spring MVC and Spring HATEOAS |
spring-boot-starter-integration | Starter for using Spring Integration |
spring-boot-starter-jdbc | Starter for using JDBC with the Tomcat JDBC connection pool |
spring-boot-starter-jersey | Starter for building RESTful web applications using JAX-RS and Jersey. An alternative to spring-boot-starter-web |
spring-boot-starter-jooq | Starter for using jOOQ to access SQL databases. An alternative to spring-boot-starter-data-jpa or spring-boot-starter-jdbc |
spring-boot-starter-json | Starter for reading and writing json |
spring-boot-starter-jta-atomikos | Starter for JTA transactions using Atomikos |
spring-boot-starter-jta-bitronix | Starter for JTA transactions using Bitronix |
spring-boot-starter-jta-narayana | Spring Boot Narayana JTA Starter |
spring-boot-starter-mail | Starter for using Java Mail and Spring Framework’s email sending support |
spring-boot-starter-mobile | Starter for building web applications using Spring Mobile |
spring-boot-starter-mustache | Starter for building web applications using Mustache views |
spring-boot-starter-quartz | Spring Boot Quartz Starter |
spring-boot-starter-security | Starter for using Spring Security |
spring-boot-starter-social-facebook | Starter for using Spring Social Facebook |
spring-boot-starter-social-linkedin | Stater for using Spring Social LinkedIn |
spring-boot-starter-social-twitter | Starter for using Spring Social Twitter |
spring-boot-starter-test | Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest and Mockito |
spring-boot-starter-thymeleaf | Starter for building MVC web applications using Thymeleaf views |
spring-boot-starter-validation | Starter for using Java Bean Validation with Hibernate Validator |
spring-boot-starter-web | Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container |
spring-boot-starter-web-services | Starter for using Spring Web Services |
spring-boot-starter-webflux | Starter for building WebFlux applications using Spring Framework’s Reactive Web support |
spring-boot-starter-websocket | Starter for building WebSocket applications using Spring Framework’s WebSocket support |
下面这个starter是项目完成后用到的
Spring Boot production starters(用于检测项目的状态)
Name | Description |
---|---|
spring-boot-starter-actuator | Starter for using Spring Boot’s Actuator which provides production ready features to help you monitor and manage your application |
下面是些特殊的starters
Spring Boot technical starters
Name | Description |
---|---|
spring-boot-starter-jetty | Starter for using Jetty as the embedded servlet container. An alternative to spring-boot-starter-tomcat |
spring-boot-starter-log4j2 | Starter for using Log4j2 for logging. An alternative to spring-boot-starter-logging |
spring-boot-starter-logging | Starter for logging using Logback. Default logging starter |
spring-boot-starter-reactor-netty | Starter for using Reactor Netty as the embedded reactive HTTP server. |
spring-boot-starter-tomcat | Starter for using Tomcat as the embedded servlet container. Default servlet container starter used by spring-boot-starter-web |
spring-boot-starter-undertow | Starter for using Undertow as the embedded servlet container. An alternative to spring-boot-starter-tomcat |
starters在github上的连接
https://github.com/spring-projects/spring-boot/blob/master/spring-boot-starters/README.adoc