13.5 启动器

启动器是一组方便的依赖描述符,可以包含在应用程序中。您可以获得所需的所有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-jpaspring-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文件


书籍推荐