Starters 是一组方便的依赖描述符,您可以将它们包含在您的应用程序中。您可以获得所需的所有 Spring 和相关技术的一站式服务,而无需搜索示例代码和复制粘贴加载的依赖项描述符。例如,如果您想开始使用 Spring 和 JPA 进行数据库访问,请spring-boot-starter-data-jpa
在您的项目中包含依赖项。
starters作用
- 解决第三个的依赖问题(一堆配置类,可以帮助我们解决很多初始化配置类的问题,我们可以做拿来主义者,不需要造轮子)
- 解决依赖版本的问题。就程序员不需要在去关注每个jar依赖另外一个jar包的问题,全部自动进行依赖管理version的统一升降的问题。
starters 包含许多依赖项,您需要这些依赖项来快速启动和运行项目,并使用一组一致的、受支持的托管传递依赖项。
starters有什么
所有官方首发都遵循类似的命名模式;spring-boot-starter-*,其中*是特定类型的应用程序。
此命名结构旨在在您需要查找入门时提供帮助。许多 IDE 中的 Maven 集成允许您按名称搜索依赖项。
例如,安装适当的 Eclipse 或 Spring Tools 插件后,您可以ctrl-space在 POM 编辑器中按并
键入“spring-boot-starter”以获得完整列表。
正如“创建您自己的启动器”部分所述,第三方启动器不应以 开头spring-boot,
因为它是为官方 Spring Boot 工件保留的。相反,第三方启动器通常以项目名称开头。
例如,名为的第三方启动项目thirdpartyproject通常命名为thirdpartyproject-spring-boot-starter。
starters命名规范
-
官方的:spring-boot-starter-* ,在依赖的时候不需要指定版本号
-
第三个的或者自定义的:xxx-boot-starter,这个在开发的时候必须要指定版本号。比如;
mybatis-plus-boot-starter
官方提供的starters
以下应用启动器由 Spring Bootorg.springframework.boot
组下提供:
Name | 描述 |
---|---|
spring-boot-starter | 核心启动器,包括自动配置支持、日志记录和 YAML |
spring-boot-starter-activemq | 使用 Apache ActiveMQ 的 JMS 消息传递入门 |
spring-boot-starter-amqp | 使用 Spring AMQP 和 Rabbit MQ 的入门者 |
spring-boot-starter-aop | 使用 Spring AOP 和 AspectJ 进行面向方面编程的入门 |
spring-boot-starter-artemis | 使用 Apache Artemis 的 JMS 消息传递入门 |
spring-boot-starter-batch | 使用 Spring Batch 的启动器 |
spring-boot-starter-cache | 使用 Spring Framework 的缓存支持的 Starter |
spring-boot-starter-data-cassandra | 使用 Cassandra 分布式数据库和 Spring Data Cassandra 的 Starter |
spring-boot-starter-data-cassandra-reactive | Starter 使用 Cassandra 分布式数据库和 Spring Data Cassandra Reactive |
spring-boot-starter-data-couchbase | 使用 Couchbase 面向文档的数据库和 Spring Data Couchbase 的入门者 |
spring-boot-starter-data-couchbase-reactive | 使用 Couchbase 面向文档的数据库和 Spring Data Couchbase Reactive 的启动器 |
spring-boot-starter-data-elasticsearch | 使用 Elasticsearch 搜索和分析引擎以及 Spring Data Elasticsearch 的入门者 |
spring-boot-starter-data-jdbc | 使用 Spring Data JDBC 的入门者 |
spring-boot-starter-data-jpa | 将 Spring Data JPA 与 Hibernate 结合使用的入门者 |
spring-boot-starter-data-ldap | 使用 Spring Data LDAP 的初学者 |
spring-boot-starter-data-mongodb | 使用 MongoDB 面向文档的数据库和 Spring Data MongoDB 的入门者 |
spring-boot-starter-data-mongodb-reactive | Starter 使用 MongoDB 面向文档的数据库和 Spring Data MongoDB Reactive |
spring-boot-starter-data-neo4j | 使用 Neo4j 图形数据库和 Spring Data Neo4j 的入门者 |
spring-boot-starter-data-r2dbc | 使用 Spring Data R2DBC 的启动器 |
spring-boot-starter-data-redis | 将 Redis 键值数据存储与 Spring Data Redis 和 Lettuce 客户端一起使用的入门者 |
spring-boot-starter-data-redis-reactive | 将 Redis 键值数据存储与 Spring Data Redis 反应式和 Lettuce 客户端一起使用的启动器 |
spring-boot-starter-data-rest | 使用 Spring Data REST 在 REST 上公开 Spring Data 存储库的启动器 |
spring-boot-starter-freemarker | 使用 FreeMarker 视图构建 MVC Web 应用程序的初学者 |
spring-boot-starter-groovy-templates | 使用 Groovy 模板视图构建 MVC Web 应用程序的入门者 |
spring-boot-starter-hateoas | 使用 Spring MVC 和 Spring HATEOAS 构建基于超媒体的 RESTful Web 应用程序的启动器 |
spring-boot-starter-integration | 使用 Spring Integration 的入门者 |
spring-boot-starter-jdbc | 将 JDBC 与 HikariCP 连接池一起使用的 Starter |
spring-boot-starter-jersey | 使用 JAX-RS 和 Jersey 构建 RESTful Web 应用程序的初学者。替代方案spring-boot-starter-web |
spring-boot-starter-jooq | 使用 jOOQ 访问 SQL 数据库的入门者。spring-boot-starter-data-jpa 或的替代品spring-boot-starter-jdbc |
spring-boot-starter-json | 读写json的Starter |
spring-boot-starter-jta-atomikos | 使用 Atomikos 的 JTA 事务入门 |
spring-boot-starter-mail | 使用 Java Mail 的 Starter 和 Spring Framework 的电子邮件发送支持 |
spring-boot-starter-mustache | 使用 Mustache 视图构建 Web 应用程序的初学者 |
spring-boot-starter-oauth2-client | 使用 Spring Security 的 OAuth2/OpenID Connect 客户端功能的入门者 |
spring-boot-starter-oauth2-resource-server | 使用 Spring Security 的 OAuth2 资源服务器功能的入门者 |
spring-boot-starter-quartz | 使用 Quartz 调度器的启动器 |
spring-boot-starter-rsocket | 用于构建 RSocket 客户端和服务器的 Starter |
spring-boot-starter-security | 使用 Spring Security 的入门者 |
spring-boot-starter-test | Starter 用于使用包括 JUnit Jupiter、Hamcrest 和 Mockito 在内的库测试 Spring Boot 应用程序 |
spring-boot-starter-thymeleaf | 使用 Thymeleaf 视图构建 MVC Web 应用程序的初学者 |
spring-boot-starter-validation | 将 Java Bean 验证与 Hibernate Validator 结合使用的入门工具 |
spring-boot-starter-web | 使用 Spring MVC 构建 Web(包括 RESTful)应用程序的入门者。使用 Tomcat 作为默认的嵌入式容器 |
spring-boot-starter-web-services | 使用 Spring Web 服务的入门者 |
spring-boot-starter-webflux | 使用 Spring Framework 的 Reactive Web 支持构建 WebFlux 应用程序的 Starter |
spring-boot-starter-websocket | 使用 Spring Framework 的 WebSocket 支持构建 WebSocket 应用程序的启动器 |
除了应用程序启动器之外,以下启动器还可用于添加*生产就绪*功能:
Name | 描述 |
---|---|
spring-boot-starter-actuator | 使用 Spring Boot 的 Actuator 的启动器,它提供了生产就绪的特性来帮助你监控和管理你的应用程序 |
最后,Spring Boot 还包括以下启动器,如果您想排除或交换特定的技术方面,可以使用它们:
Name | 描述 |
---|---|
spring-boot-starter-jetty | 使用 Jetty 作为嵌入式 servlet 容器的启动器。替代方案spring-boot-starter-tomcat |
spring-boot-starter-log4j2 | 使用 Log4j2 进行日志记录的启动器。替代方案spring-boot-starter-logging |
spring-boot-starter-logging | 使用 Logback 进行日志记录的启动器。默认日志记录启动器 |
spring-boot-starter-reactor-netty | 使用 Reactor Netty 作为嵌入式响应式 HTTP 服务器的启动器。 |
spring-boot-starter-tomcat | 使用 Tomcat 作为嵌入式 servlet 容器的启动器。使用的默认 servlet 容器启动器spring-boot-starter-web |
spring-boot-starter-undertow | 使用 Undertow 作为嵌入式 servlet 容器的启动器。替代方案spring-boot-starter-tomcat |
要了解如何交换技术方面,请参阅有关交换 Web 服务器和日志系统的操作说明文档。