Spring Boot 启动器

2025年3月18日 | 阅读时长 4 分钟

Spring Boot 提供了许多 starters,允许我们在类路径中添加 jar 包。 Spring Boot 内置的 starters 使开发更容易、更快速。Spring Boot Starters依赖描述符

在 Spring Boot 框架中,所有 starters 都遵循类似的命名模式:spring-boot-starter-*,其中 * 表示特定类型的应用程序。例如,如果我们要使用 Spring 和 JPA 进行数据库访问,我们需要在项目的 pom.xml 文件中包含 spring-boot-starter-data-jpa 依赖项。

第三方启动器

我们也可以在我们的项目中包含 第三方启动器。但是我们不使用 spring-boot-starter 来包含第三方依赖项。 spring-boot-starter 保留用于官方 Spring Boot 工件。第三方启动器以项目名称开头。例如,第三方项目名称是 abc, 那么依赖项名称将是 abc-spring-boot-starter.

Spring Boot 框架在 org.springframework.boot 组下提供了以下应用程序启动器。

名称描述
spring-boot-starter-thymeleaf它用于使用 Thymeleaf 视图构建 MVC Web 应用程序。
spring-boot-starter-data-couchbase它用于 Couchbase 面向文档的数据库和 Spring Data Couchbase。
spring-boot-starter-artemis它用于使用 Apache Artemis 进行 JMS 消息传递。
spring-boot-starter-web-services它用于 Spring Web Services。
spring-boot-starter-mail它用于支持 Java Mail 和 Spring Framework 的电子邮件发送。
spring-boot-starter-data-redis它用于使用 Spring Data Redis 和 Jedis 客户端进行 Redis 键值数据存储。
spring-boot-starter-web它用于构建 Web 应用程序,包括使用 Spring MVC 的 RESTful 应用程序。 它使用 Tomcat 作为默认的嵌入式容器。
spring-boot-starter-data-gemfire它用于 GemFire 分布式数据存储和 Spring Data GemFire。
spring-boot-starter-activemq它用于使用 Apache ActiveMQ 进行 JMS 消息传递。
spring-boot-starter-data-elasticsearch它用于 Elasticsearch 搜索和分析引擎以及 Spring Data Elasticsearch。
spring-boot-starter-integration它用于 Spring Integration。
spring-boot-starter-test它用于使用库(包括 JUnit、Hamcrest 和 Mockito)测试 Spring Boot 应用程序。
spring-boot-starter-jdbc它用于使用 Tomcat JDBC 连接池的 JDBC。
spring-boot-starter-mobile它用于使用 Spring Mobile 构建 Web 应用程序。
spring-boot-starter-validation它用于使用 Hibernate Validator 进行 Java Bean 验证。
spring-boot-starter-hateoas它用于使用 Spring MVC 和 Spring HATEOAS 构建基于超媒体的 RESTful Web 应用程序。
spring-boot-starter-jersey它用于使用 JAX-RS 和 Jersey 构建 RESTful Web 应用程序。 spring-boot-starter-web 的替代方案。
spring-boot-starter-data-neo4j它用于 Neo4j 图数据库和 Spring Data Neo4j。
spring-boot-starter-data-ldap它用于 Spring Data LDAP。
spring-boot-starter-websocket它用于构建 WebSocket 应用程序。 它使用 Spring Framework 的 WebSocket 支持。
spring-boot-starter-aop它用于使用 Spring AOP 和 AspectJ 进行面向方面的编程。
spring-boot-starter-amqp它用于 Spring AMQP 和 Rabbit MQ。
spring-boot-starter-data-cassandra它用于 Cassandra 分布式数据库和 Spring Data Cassandra。
spring-boot-starter-social-facebook它用于 Spring Social Facebook。
spring-boot-starter-jta-atomikos它用于使用 Atomikos 的 JTA 事务。
spring-boot-starter-security它用于 Spring Security。
spring-boot-starter-mustache它用于使用 Mustache 视图构建 MVC Web 应用程序。
spring-boot-starter-data-jpa它用于 Spring Data JPA 和 Hibernate。
spring-boot-starter它用于核心启动器,包括自动配置支持、日志记录和 YAML。
spring-boot-starter-groovy-templates它用于使用 Groovy Template 视图构建 MVC Web 应用程序。
spring-boot-starter-freemarker它用于使用 FreeMarker 视图构建 MVC Web 应用程序。
spring-boot-starter-batch它用于 Spring Batch。
spring-boot-starter-social-linkedin它用于 Spring Social LinkedIn。
spring-boot-starter-cache它用于 Spring Framework 的缓存支持。
spring-boot-starter-data-solr它用于 Apache Solr 搜索平台和 Spring Data Solr。
spring-boot-starter-data-mongodb它用于 MongoDB 面向文档的数据库和 Spring Data MongoDB。
spring-boot-starter-jooq它用于 jOOQ 访问 SQL 数据库。 spring-boot-starter-data-jpa 或 spring-boot-starter-jdbc 的替代方案。
spring-boot-starter-jta-narayana它用于 Spring Boot Narayana JTA 启动器。
spring-boot-starter-cloud-connectors它用于 Spring Cloud Connectors,简化了与云平台(如 Cloud Foundry 和 Heroku)中服务的连接。
spring-boot-starter-jta-bitronix它用于使用 Bitronix 的 JTA 事务。
spring-boot-starter-social-twitter它用于 Spring Social Twitter。
spring-boot-starter-data-rest它用于使用 Spring Data REST 公开 REST 上的 Spring Data 存储库。

Spring Boot 生产启动器

名称描述
spring-boot-starter-actuator它用于 Spring Boot 的 Actuator,提供生产就绪的功能,帮助您监视和管理应用程序。
spring-boot-starter-remote-shell它用于 CRaSH 远程 shell,通过 SSH 监视和管理您的应用程序。 从 1.5 版本开始已弃用。

Spring Boot 技术启动器

名称描述
spring-boot-starter-undertow它用于 Undertow 作为嵌入式 Servlet 容器。 spring-boot-starter-tomcat 的替代方案。
spring-boot-starter-jetty它用于 Jetty 作为嵌入式 Servlet 容器。 spring-boot-starter-tomcat 的替代方案。
spring-boot-starter-logging它用于使用 Logback 进行日志记录。 默认的日志记录启动器。
spring-boot-starter-tomcat它用于 Tomcat 作为嵌入式 Servlet 容器。 spring-boot-starter-web 使用的默认 Servlet 容器启动器。
spring-boot-starter-log4j2它用于 Log4j2 进行日志记录。 spring-boot-starter-logging 的替代方案。