13.5 启动器
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-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文件。