13.5 启动器

优质
小牛编辑
133浏览
2023-12-01

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核心启动器,包含自动配置支持、日志和YAMLPom
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-narayanaSpring 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文件