54 个官方 Spring Boot Starters 出炉!别再重复造轮子了…….
在之前的文章,栈长介绍了 Spring Boot Starters,不清楚的可以点击链接进去看下。
前段时间 Spring Boot 2.4.0 也发布了,本文栈长再详细总结下最新的 Spring Boot 2.4.0 官方的 Starters 都有哪些。
Spring Boot 基本介绍这里就不介绍了,关注公众号Java技术栈回复关键字 "boot",可以阅读我写的几十篇往期实战文章。这个 Spring Boot 实战仓库,也欢迎 Star 关注学习:
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 或者其他容器,又或者你想换成其他的日志框架,都在这个表格里,怎么换?点击这里参考我之前写的这篇教程。
最新请参考:
结语
本文一共收集了 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 写了一段逻辑,同事直呼看不懂,你试试看。。
觉得不错,别忘了随手点赞+转发哦!
54 个官方 Spring Boot Starters 出炉!别再重复造轮子了…….的更多相关文章
- Spring Boot Starters到底怎么回事?
前言 上周看了一篇.你一直在用的Spring Boot Starters究竟是怎么回事(https://www.cnblogs.com/fengzheng/p/10947585.html) 感觉终 ...
- Spring Boot Starters介绍
文章目录 Web Start Test Starter Data JPA Starter Mail Starter 结论 对于任何一个复杂项目来说,依赖关系都是一个非常需要注意和消息的方面,虽然重要, ...
- Spring Boot Starters
Spring Boot Starters 摘自 https://www.nosuchfield.com/2017/10/15/Spring-Boot-Starters/ 2017-10-15 Spri ...
- 你一直在用的 Spring Boot Starters 究竟是怎么回事
Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置.不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件搞的晕头转向,冷不防还因为 xml 配置 ...
- Spring Boot Starters 究竟是怎么回事
Spring Boot 对比 Spring MVC 最大的优点就是使用简单,约定大于配置.不会像之前用 Spring MVC 的时候,时不时被 xml 配置文件搞的晕头转向,冷不防还因为 xml 配置 ...
- Spring Boot Starters启动器
Starters是什么? Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包.如你想使用Spring J ...
- Spring Boot Starters 列表
Spring Boot application starters 名称 描述 Pom spring-boot-starter 核心starter,包括自动配置支持,日志和YAML Pom spring ...
- Spring Boot Starters是什么?
版权声明:该文转自: http://www.nosuchfield.com/2017/10/15/Spring-Boot-Starters/.版权归原创作者,在此对原作者的付出表示感谢! starte ...
- Sping Boot入门到实战之实战篇(二):一些常用功能的Spring Boot Starters
包含功能 阿里云消息服务MNS 阿里云消息队列服务(即时消息.延迟消息.事务消息) AOP日志 基于MyBatis通用Mapper及DRUID的数据库访问 dubbo支持 错误处理 七牛图片服务 re ...
随机推荐
- jQuery 第四章 实例方法 DOM操作之data方法
jquery 里面 的 data 方法比较重要, 所以成一个模块写: 首先, 得知道 data() 干嘛用的, 看淘宝上 有自定义的属性, 为data - 什么什么, 这是为了dom 跟数据有 ...
- oracle整表数据被误删除之寻踪
问题描述 开发同事在在14点左右发现任务表task_info数据不正确,3个小时之前的数据消失了,数据截至时间11:38:27 问题分析 查询过dba_source,只找到一个删除该表的存储过程,而且 ...
- 【CF607B】Zuma——区间dp(记忆化搜索/递推)
以下是从中文翻译成人话的题面: 给定一个长度小于等于500的序列,每个数字代表一个颜色,每次可以消掉一个回文串,问最多消几次可以消完? (7.16) 这个题从洛谷pend回来以后显示有103个测试点( ...
- 企业安全06-Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645)
CVE-2017-5645 Apache Log4j Server 反序列化命令执行漏洞(CVE-2017-5645) 一.漏洞原理 Apache Log4j是一个用于Java的日志记录库,其支持启动 ...
- VM15 Ubuntu18.04下固定IP
输入su 进入root用户 为下面修改文件内容提供权限 1.查看自己网卡名称:输入命令: ifconfig -a 或者 ip link 或者 ip addr 所以我的网卡名称是:ens33 2. 然后 ...
- 一种更优雅的Flutter Dialog解决方案
前言 系统自带的Dialog实际上就是Push了一个新页面,这样存在很多好处,但是也存在一些很难解决的问题 必须传BuildContext loading弹窗一般都封装在网络框架中,多传个contex ...
- 偏微分方程数值解法的MATLAB源码
原文出处http://wenku.baidu.com/view/df412e115f0e7cd184253653.html 因为不太喜欢百度文库的格式,所以写到个人博客里面方便使用 <ifram ...
- Python的富比较方法__eq__和__ne__之间的关联关系分析
Python的富比较方法包括__lt__.__gt__.__le__.__ge__.__eq__和__ne__六个方法,分别表示:小于.大于.小于等于.大于等于.等于和不等于,对应的操作运算符为:&l ...
- 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解
老猿Python博文目录 老猿Python博客地址 一.概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当 ...
- PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象dockNestingEnabled属性
dockNestingEnabled 属性是确认主窗口的浮动部件(dock widget)是否允许嵌套的一个属性. 如果此属性为False,则浮动部件停靠区域只能包含一个浮动部件(水平或垂直).如果此 ...