启动器是一组方便的依赖描述符,可以包含在应用程序中。您可以获得所需的所有Spring及相关技术的一站式服务,而无须找遍示例代码和复制粘贴大量的依赖描述符。例如,如果想要用Spring和JPA进行数据库访问,那么只需在您的项目中包含spring-boot-starter-data-jpa
依赖就足够了。
启动器包含许多依赖,它们是项目快速建立、运行并且有一组一致的、被支持的托管可传递性依赖集所需的。
名称中有什么
所有正式的启动器都遵循相似的命名模式:
spring-boot-starter-*
其中*
是特定类型的程序。这个命名结构旨在当您查找一个启动器时提供帮助。许多IDE中的Maven集成允许您按名称搜索依赖项。例如,如果安装了适当的Eclipse或STS插件,您能够简单地在POM编辑器中按下ctrl-space
,并键入“spring-boot-starter”来获取完整的列表。
如创建自己的启动器一节中所解释的,第三方启动器不应以
spring-boot
开头,因为它是留给正式的Spring Boot构件的。acme
的第三方启动器一般被命名为acme-spring-boot-starter
。
Spring Boot在org.springframework.boot
组中提供了以下应用启动器:
Table 13.1. Spring Boot application starters
名称 | 描述 | Pom |
---|---|---|
spring-boot-starter |
核心启动器,包含自动配置支持、日志和YAML | Pom |
spring-boot-starter-activemq |
使用Apache ActiveMQ的JMS消息传递启动器 | Pom |
spring-boot-starter-amqp |
使用Spring AMQP和Rabbit MQ的启动器 | Pom |
spring-boot-starter-aop |
使用Spring AOP和AspectJ的面向切面编程启动器 | Pom |
spring-boot-starter-artemis |
使用Apache Artemis的JMS消息传递启动器 | Pom |
spring-boot-starter-batch |
使用Spring Batch的启动器 | Pom |
spring-boot-starter-cache |
使用Spring Framework的缓存支持的启动器 | Pom |
spring-boot-starter-cloud-connectors |
使用Spring Cloud连接器的启动器,可简化与Cloud Foundry和Heroku等云平台的服务连接 | Pom |
spring-boot-starte-data-cassandrar |
使用Cassandra分布式数据库和Spring Data Cassandra的启动器 | Pom |
spring-boot-starter-data-couchbase |
使用Couchbase面向文档的数据库和Spring Data Couchbase的启动器 | Pom |
spring-boot-starter-data-elasticsearch |
使用Elasticsearch搜索与分析引擎和Spring Data Elasticsearch的启动器 | Pom |
spring-boot-starter-data-gemfire |
使用GemFire分布式数据存储和Spring Data GemFire的启动器 | Pom |
spring-boot-starter-data-jpa |
使用Spring Data JPA与Hibernate的启动器 | Pom |
spring-boot-starter-data-ldap |
使用Spring Data LDAP的启动器 | Pom |
spring-boot-starter-data-mongodb |
使用MongoDB面向文档的数据库和Spring Data MongoDB的启动器 | Pom |
spring-boot-starter-data-neo4j |
使用Neo4j图数据库和Spring Data Neo4j的启动器 | Pom |
spring-boot-starter-data-redis |
使用Redis键值数据存储与Spring Data Redis和Jedis客户端的启动器 | Pom |
spring-boot-starter-data-rest |
使用Spring Data REST通过REST公开Spring Data仓库的启动器 | Pom |
spring-boot-starter-data-solr |
使用Apache Solr搜索平台与Spring Data Solr的启动器 | Pom |
spring-boot-starter-freemarker |
使用FreeMarker视图构建MVC Web应用程序的启动器 | Pom |
spring-boot-starter-groovy-templates |
使用Groovy模板视图构建MVC Web应用程序的启动器 | Pom |
spring-boot-starter-hateoas |
使用Spring MVC和Spring HATEOAS构建基于超媒体的RESTful Web应用程序的启动器 | Pom |
spring-boot-starter-integration |
使用Spring集成的启动器 | Pom |
spring-boot-starter-jdbc |
使用JDBC与Tomcat JDBC连接池的启动器 | Pom |
spring-boot-starter-jersey |
使用JAX-RS和Jersey构建RESTful Web应用程序的启动器,spring-boot-starter-web 的替代方案 |
Pom |
spring-boot-starter-jooq |
使用jOOQ访问SQL数据库的启动器,spring-boot-starter-data-jpa 或spring-boot-starter-jdbc 的替代方案 |
Pom |
spring-boot-starter-jta-atomikos |
使用Atomikos实现JTA事务的启动器 | Pom |
spring-boot-starter-jta-bitronix |
使用Bitronix实现JTA事务的启动器 | Pom |
spring-boot-starter-jta-narayana |
Spring Boot Narayana JTA启动器 | Pom |
spring-boot-starter-mail |
使用Java Mail和Spring Framework的邮件发送支持的启动器 | Pom |
spring-boot-starter-mobile |
使用Spring Mobile构建Web应用程序的启动器 | Pom |
spring-boot-starter-mustache |
使用Mustache视图构建MVC Web应用程序的启动器 | Pom |
spring-boot-starter-security |
使用Spring Security的启动器 | Pom |
spring-boot-starter-social-facebook |
使用Spring Social Facebook的启动器 | Pom |
spring-boot-starter-social-linkedin |
使用Spring Social LinkedIn的启动器 | Pom |
spring-boot-starter-social-twitter |
使用Spring Social Twitter的启动器 | Pom |
spring-boot-starter-test |
使用含有JUnit、Hamcrest和Mockito的库测试Spring Boot应用程序的启动器 | Pom |
spring-boot-starter-thymeleaf |
使用Thymeleaf视图构建MVC Web应用程序的启动器 | Pom |
spring-boot-starter-validation |
使用Java Bean验证与Hibernate验证器的启动器 | Pom |
spring-boot-starter-web |
使用Spring MVC构建包括RESTful的Web应用程序的启动器 | Pom |
spring-boot-starter-web-services |
使用Spring Web Services的启动器 | Pom |
spring-boot-starter-websocket |
使用Spring Framework的WebSocket支持构建WebSocket应用程序的启动器 | Pom |
除了应用程序启动器,以下启动器可用于增加生产环境的功能:
Table 13.2. Spring Boot production starters
名称 | 描述 | Pom |
---|---|---|
spring-boot-starter-actuator |
使用Spring Boot的Actuator的启动器,它提供在生产环境下帮助您监视和管理应用程序的功能 | Pom |
spring-boot-starter-remote-shell |
使用CRaSH远程shell通过SSH监视和管理应用程序的启动器,自1.5不建议使用 | Pom |
最后,Spring Boot还有一些启动器,如果您要排除或换掉特定的技术可以使用它们:
Table 13.3. Spring Boot technical starters
名称 | 描述 | Pom |
---|---|---|
spring-boot-starter-jetty |
使用Jetty作为内置servlet容器的启动器,spring-boot-starter-tomcat 的替代方案 |
Pom |
spring-boot-starter-log4j2 |
使用Log4j2的启动器,spring-boot-starter-logging 的替代方案 |
Pom |
spring-boot-starter-logging |
使用Logback记录日志的启动器,是默认的日志启动器 | Pom |
spring-boot-starter-tomcat |
使用Tomcat作为内置servlet容器的启动器,spring-boot-starter-web 使用的默认servlet容器启动器 |
Pom |
spring-boot-starter-undertow |
使用Undertow作为内置servlet容器的启动器,spring-boot-starter-tomcat 的替代方案 |
Pom |
额外的社区贡献的启动器的列表请参阅GitHub上
spring-boot-starters
模块中的README文件。