SpringBoot中Starters是什么

SpringBoot中Starters是什么Starters 是一组方便的依赖描述符 您可以将它们包含在您的应用程序中 您可以获得所需的所有 Spring 和相关技术的一站式服务 而无需搜索示例代码和复制粘贴加载的依赖项描述符 例如 如果您想开始使用 Spring 和 JPA 进行数据库访问 请 spring boot starter data jpa 在您的项目中包含依赖项 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-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 服务器和日志系统的操作说明文档。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207264.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午2:12
下一篇 2026年3月19日 下午2:12


相关推荐

  • AI大模型遭投毒?虚假产品轻易得到推荐!实测:千问拒答 DeepSeek翻车!

    AI大模型遭投毒?虚假产品轻易得到推荐!实测:千问拒答 DeepSeek翻车!

    2026年3月16日
    2
  • mysql宽字节注入_宽字节注入解析

    mysql宽字节注入_宽字节注入解析在一个 CTF 练习的网站 看到了一个宽字节注入的题目 我是一个 web 萌新 没什么经验 一开始也没有想到是宽字节 还是一位朋友给我提到的 让我猛然大悟 咳咳 做一些总结 练习题目网站地址 http ctf bugku com 一 了解一下宽字节注入原理前提 1 我们都知道 在防御 SQL 注入的时候 大多说都是使用的过滤特殊字符 或者使用函数将特殊字符转化为实体 就是说在字符转义 添加 这里

    2026年3月17日
    2
  • 逻辑漏洞之密码找回漏洞(semcms)「建议收藏」

    逻辑漏洞之密码找回漏洞(semcms)「建议收藏」目录什么是密码找回漏洞一般流程可能产生该漏洞的情况脑洞图1.用户凭证暴力破解2.返回凭证3.邮箱弱token4.用户凭证有效性5.重新绑定6.服务器验证7.用户身份验证8.找回步骤9.本地验证10.注入11.Token生成12.注册覆盖13.session覆盖演示暴破验证码找回密码更改id号修改admin密码靶场cms下载什么是密码找回漏洞利用漏洞修改他人帐号密码,甚至修改管理员的密码。一般流程1首先尝试正常找回密码流程,选择不同的找回方式,记录所有数据包2分析数据包,找到敏感部分3

    2022年4月30日
    76
  • mysql索引abc,a=1 and c=2是否可使用索引_sql联合索引

    mysql索引abc,a=1 and c=2是否可使用索引_sql联合索引在一次查询中,MySQL只能使用一个索引。在真实项目中,SQL语句中的WHERE子句里通常会包含多个查询条件还会有排序、分组等。若表中索引过多,会影响INSERT及UPDATE性能,简单说就是会影响数据写入性能。因为更新数据的同时,也要同时更新索引。最实际的好处当然是查询速度快,性能好。MYSQL中常用的强制性操作(例如强制索引)https://www.jb51.net/article/49807…

    2025年9月18日
    9
  • Java两整数相除向上取整

    Java两整数相除向上取整前言:Java中两个整数相除,如果不能整除,默认是向下取整的。例如:11除以3的结果是3。然而,某些情况下(eg.把11个糖果,每3个分一堆,不足三个也分成一堆,可以分几堆?),我们需要向上取整,这样的情况该如果处理呢?方式一:添加三目运算符逻辑代码x/y+(x%y!=0?1:0);这种方法逻辑上很简单,如果x可以整除y,就将x/y的结果加0,不能整除y就将x/y的结果加1。方式二:使用ceil函数(int)Math.ceil((double.

    2022年6月21日
    113
  • linux tty_linux tty

    linux tty_linux ttyLinux中的tty与pts终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。 Teletype是最早出现的一种终端设备——可以称作电传打字机,由Teletype公司生产。tty在Linux系统的设备特殊文件目录/dev/下。终端特殊设备文件一般有以下几种:1、串行端口终端(/dev/ttySn)串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这

    2022年8月9日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号