54 个官方 Spring Boot Starters 出炉!别再重复造轮子了…….

简介: 在之前的文章,栈长介绍了 Spring Boot Starters,不清楚的可以点击链接进去看下。

在之前的文章,栈长介绍了 Spring Boot Starters,不清楚的可以点击链接进去看下。


前段时间 Spring Boot 2.4.0 也发布了,本文栈长再详细总结下最新的 Spring Boot 2.4.0 官方的 Starters 都有哪些。


Spring Boot 基本介绍这里就不介绍了,关注公众号Java技术栈回复关键字 "boot",可以阅读我写的几十篇往期实战文章。这个 Spring Boot 实战仓库,也欢迎 Star 关注学习:


https://github.com/javastacks/spring-boot-best-practice


Spring Boot starters

1、application starters

你还在手写配置引入框架?建议看看这个表格。


这一个表格是 Spring Boot 所有应用程序级的 Starters,一起来看都有哪些。


Starter 名称 Starter 描述

spring-boot-starter 核心 Starter,包括自动配置、日志及 YAML 支持等

spring-boot-starter-activemq 集成 Apache ActiveMQ,基于 JMS 的消息队列

spring-boot-starter-artemis 集成 Apache Artemis,基于 JMS 的消息队列

spring-boot-starter-amqp 集成 Spring AMQP 和 Rabbit MQ 的消息队列

spring-boot-starter-aop 集成 Spring AOP 和 AspectJ 面向切面编程

spring-boot-starter-batch 集成 Spring Batch(批处理)

spring-boot-starter-cache 集成 Spring Cache(缓存)

spring-boot-starter-data-cassandra 集成 Cassandra(分布式数据库) 和 Spring Data Cassandra

spring-boot-starter-data-cassandra-reactive 集成 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-solr 集成 Apache Solr(搜索引擎)结合 Spring Data Solr

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 集成 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 reactive 和 Lettuce 客户端

spring-boot-starter-data-rest 集成 Spring Data REST 暴露 Spring Data repositories 输出 REST 资源

spring-boot-starter-thymeleaf 集成 Thymeleaf 视图构建 MVC web 应用

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 连接池

spring-boot-starter-jersey 集成 JAX-RS 和 Jersey 构建 RESTful web 应用,是 spring-boot-starter-web 的一个替代 Starter

spring-boot-starter-jooq 集成 jOOQ 访问 SQL 数据库,是 spring-boot-starter-data-jpa 或者 spring-boot-starter-jdbc 的替代 Starter

spring-boot-starter-json 用于读写 JSON

spring-boot-starter-jta-atomikos 集成 Atomikos 实现 JTA 事务

spring-boot-starter-jta-bitronix 集成 Bitronix 实现 JTA 事务( 从 2.3.0 开始标识为 Deprecated)

spring-boot-starter-mail 集成 Java Mail 和 Spring 框架的邮件发送功能

spring-boot-starter-mustache 集成 Mustache 视图构建 web 应用

spring-boot-starter-security 集成 Spring Security

spring-boot-starter-oauth2-client 集成 Spring Security’s OAuth2/OpenID 连接客户端功能

spring-boot-starter-oauth2-resource-server 集成 Spring Security’s OAuth2 资源服务器功能

spring-boot-starter-quartz 集成 Quartz 任务调度

spring-boot-starter-rsocket 构建 RSocket 客户端和服务端

spring-boot-starter-test 集成 JUnit Jupiter, Hamcrest 和 Mockito 测试 Spring Boot 应用和类库

spring-boot-starter-validation 集成 Java Bean Validation 结合 Hibernate Validator

spring-boot-starter-web 集成 Spring MVC 构建 RESTful web 应用,使用 Tomcat 作为默认内嵌容器

spring-boot-starter-web-services 集成 Spring Web Services

spring-boot-starter-webflux 集成 Spring Reactive Web 构建 WebFlux 应用

spring-boot-starter-websocket 集成 Spring WebSocket 构建 WebSocket 应用

用到哪个技术就引用哪个技术的 Starter,Spring Boot 助你快速集成,别再手写配置了。


2、production starters

除了上面的应用程序级 starters,还有下面的生产级 Starters 能被用于线上/生产功能:


Starter 名称 Starter 描述

spring-boot-starter-actuator 集成 Spring Boot Actuator,提供生产功能以帮助监控和管理应用程序

这个意味着和任何技术、任何业务没关系,只要用了 Spring Boot 框架,上了生产环境就能使用,也不是只有生产才能使用,只是在生产环境使用更能体验它的意义。


3、technical starters

除了应用程序和生产 Starters,Spring Boot 还包括下面的技术类 Starters,用于帮助你排除或者替换指定的框架或技术:


Starter 名称 Starter 描述

spring-boot-starter-jetty 集成 Jetty 作为内嵌的 servlet 容器,可用于替代 spring-boot-starter-tomcat

spring-boot-starter-log4j2 集成 Log4j2 日志框架,可用于替代 spring-boot-starter-logging

spring-boot-starter-logging 集成 Logback 日志框架,这个也是默认的日志 Starter

spring-boot-starter-reactor-netty 集成 Netty 作为内嵌的响应式 HTTP 服务器

spring-boot-starter-tomcat 集成 Tomcat 作为内嵌的 servlet 容器,这也是默认的 servlet 容器 starter 被集成 spring-boot-starter-web 里面

spring-boot-starter-undertow 集成 Undertow 作为内嵌的 servlet 容器,可用于替代 spring-boot-starter-tomcat

这个表格的技术也很熟悉了,Spring Boot 默认内嵌 Servlet 容器为 Tomcat,如果你想换成 Jetty、Undertow 或者其他容器,又或者你想换成其他的日志框架,都在这个表格里,怎么换?点击这里参考我之前写的这篇教程。


最新请参考:


https://docs.spring.io/spring-boot/docs/


结语

本文一共收集了 54 个 Spring Boot 官方的 Starter,参考来源于 Spring Boot 2.4.0,不限于这 54 个,随着 Spring Boot 版本的不断升级,后续可能会增加更多的 Starter,当然也有少数 Starter 可能会得到删除。


官方自带的可以直接拿来用,大家看看,就没有必要重复造轮子了。


如果 Spring Boot 官方没有自带的 Starter,一般第三方的框架也都会提供自制的 Spring Boot Starter,如:Dubbo、Zookeeper 等,这样只要几个依赖,几行配置参数就能轻松实现集成。后面栈长再整理一篇常用的第三方的 Starters,关注公众号Java技术栈第一时间推送。


当然,除了第三方的 Starter,使用 Spring Boot 的公司一般也会有私有定制的 Starter,可以用于在公司内部各业务部门快速集成使用,而不用各自造轮子。


除了会使用 Spring Boot Starter,了解它的原理也非常有必要,因为你的上司随时都会让你写一个!


好了,今天的分享就到这了,后续有大版本更新,官方 Starters 调整比较大的话,后续栈长再继续更新本文,关注公众号Java技术栈第一时间推送。


如果有帮助,点个在看鼓励一下哦!也欢迎分享转发给更多有需要的朋友~


版权申明:本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重他人劳动成果和知识产权。


近期热文推荐:


1.Java 15 正式发布, 14 个新特性,刷新你的认知!!


2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!


3.我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。


4.吊打 Tomcat ,Undertow 性能很炸!!


5.《Java开发手册(嵩山版)》最新发布,速速下载!


觉得不错,别忘了随手点赞+转发哦!

目录
相关文章
|
Java API Spring
Spring的设计哲学--来自官方
Spring框架设计哲学强调在每个层级提供选择,允许延迟设计决策,如通过配置切换持久性提供商。它拥抱灵活性,适应不同观点,同时保持强向后兼容性,确保版本间少有破坏性更改。Spring注重API设计,追求高质量代码,拥有清晰无循环依赖的结构。这些原则使Spring成为Java开发中最受欢迎的框架之一。
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
334 0
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
600 0
|
11月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
2733 17
Spring Boot 两种部署到服务器的方式
|
9月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
386 0
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
575 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
786 2
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
514 2
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
1114 1
|
运维 Java 关系型数据库
Spring运维之boot项目bean属性的绑定读取与校验
Spring运维之boot项目bean属性的绑定读取与校验
186 2