在之前的文章,栈长介绍了 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开发手册(嵩山版)》最新发布,速速下载!

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

54 个官方 Spring Boot Starters 出炉!别再重复造轮子了…….的更多相关文章

  1. Spring Boot Starters到底怎么回事?

    前言 上周看了一篇.你一直在用的Spring Boot Starters究竟是怎么回事(https://www.cnblogs.com/fengzheng/p/10947585.html)   感觉终 ...

  2. Spring Boot Starters介绍

    文章目录 Web Start Test Starter Data JPA Starter Mail Starter 结论 对于任何一个复杂项目来说,依赖关系都是一个非常需要注意和消息的方面,虽然重要, ...

  3. Spring Boot Starters

    Spring Boot Starters 摘自 https://www.nosuchfield.com/2017/10/15/Spring-Boot-Starters/ 2017-10-15 Spri ...

  4. 你一直在用的 Spring Boot Starters 究竟是怎么回事

    Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置.不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件搞的晕头转向,冷不防还因为 xml 配置 ...

  5. Spring Boot Starters 究竟是怎么回事

    Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置.不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件搞的晕头转向,冷不防还因为 xml 配置 ...

  6. Spring Boot Starters启动器

    Starters是什么? Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包.如你想使用Spring J ...

  7. Spring Boot Starters 列表

    Spring Boot application starters 名称 描述 Pom spring-boot-starter 核心starter,包括自动配置支持,日志和YAML Pom spring ...

  8. Spring Boot Starters是什么?

    版权声明:该文转自: http://www.nosuchfield.com/2017/10/15/Spring-Boot-Starters/.版权归原创作者,在此对原作者的付出表示感谢! starte ...

  9. Sping Boot入门到实战之实战篇(二):一些常用功能的Spring Boot Starters

    包含功能 阿里云消息服务MNS 阿里云消息队列服务(即时消息.延迟消息.事务消息) AOP日志 基于MyBatis通用Mapper及DRUID的数据库访问 dubbo支持 错误处理 七牛图片服务 re ...

随机推荐

  1. mybatis中的一些标签使用

    主要有两个配置文件,一个是主配置文件SqlConfig.xml, 还有一个是dao接口实现类相对应的mapper的配置文件 .比如userDao的userDao.xml配置文件. 1.resultTy ...

  2. 对于final修饰的类型运算时的表现

    我们知道,对于byte,char,这些数据类型加减时都会转化成int在运算,然而,对于final修饰过的数据是不会发生转换的. 比如说 byte b1=1; byte b2=2; byte b3=b1 ...

  3. LGOJ5022 旅行 noip tg 2018

    旅行 标签(空格分隔): noip2018 提高组 今天我给大家带来一份题解. 题目的大大致意思是这样的: $$ 有一颗 树/基环树 求最小遍历顺序 $$ 树的情况自然不必多讲.做一些末端的微处理(将 ...

  4. python3错误AttributeError: 'TestSequenceFunctions' object has no attribute 'seq'

    对比了两段代码发现,原来是setUp要用用大写才能被正确引用. 修改后,代码运行成功.

  5. java类private/this的使用

    package 类的练习; public class Person { private String name; private int age; private String sex; privat ...

  6. pixi.js持续渲染页面

    Pixi是一个超快的2D渲染引擎,通过Javascript和Html技术创建动画或管理交互式图像,从而制作游戏或应用. 项目地址:https://github.com/pixijs/pixi.js A ...

  7. volatile禁止重排使用场景与单例模式的Double Check Lock

    普通单例模式Demo public class Demo{ private static Demo INSTANCE; private Demo(){} public static Demo getI ...

  8. The First Assignment

    我的第一条随笔 ========== 这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2 这个作业要求在哪里 https://edu.cn ...

  9. MOS管基础知识

    一些关于MOS管的基础知识,很多资料来源于网络. 场效应管(FET)分类:(按材料) 1. 结型 2. 绝缘栅型(MOS) 耗尽型:在SiO2绝缘层中掺入了大量的碱金属正离子Na+或K+(制造P沟道耗 ...

  10. 【NOIP2015模拟11.4】JZOJ2020年8月6日提高组T2 最优交换

    [NOIP2015模拟11.4]JZOJ2020年8月6日提高组T2 最优交换 题目 题解 题意 有一个长度为\(n\)的正整数 最多可以进行\(k\)次操作 每次操作交换相邻两个位置上的数 问可以得 ...