SpringBoot中Starters是什么

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-reactiveStarter 使用 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-reactiveStarter 使用 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-testStarter 用于使用包括 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 服务器日志系统的操作说明文档。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值