SpringBoot:模块探究之spring-boot-starters

news/2024/5/11 15:29:58/文章来源:https://blog.csdn.net/weixin_45187434/article/details/128401402

Spring Boot Starters 是一组方便的依赖描述符,您可以将它们包含在您的应用程序中。您可以获得所需的所有 Spring 和相关技术的一站式服务,而无需搜索示例代码和复制粘贴大量依赖项描述符。

例如,如果想使用 Spring 和 JPA 进行数据库访问,只需将 spring-boot-starter-data-jpa 这一依赖项包含在项目中就可以开始了。

~

本篇内容包括:Spring Boot Starters 模块介绍、Spring Boot Starters 盘点


文章目录

    • 一、Spring Boot Starters 模块介绍
        • 1、关于 Spring Boot Starters 模块
        • 2、spring-boot-starters 源码地址
    • 二、Spring Boot Starters 盘点
        • 1、application starters
        • 2、production starters
        • 3、technical starters


一、Spring Boot Starters 模块介绍

1、关于 Spring Boot Starters 模块

Spring Boot Starters 是一组方便的依赖描述符,您可以将它们包含在您的应用程序中。您可以获得所需的所有 Spring 和相关技术的一站式服务,而无需搜索示例代码和复制粘贴大量依赖项描述符。

例如,如果想使用 Spring 和 JPA 进行数据库访问,只需将 spring-boot-starter-data-jpa 这一依赖项包含在项目中就可以开始了。

2、spring-boot-starters 源码地址

spring-boot-starters 位于 spring-boot 项目中。

spring-boot-starters 在 源码地址为:https://github.com/spring-projects/spring-boot/tree/v2.1.0.RELEASE/spring-boot-project/spring-boot-starters

image-20221221194816277


二、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 应用

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 或者其他容器,又或者你想换成其他的日志框架,都在这个表格里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_239610.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端小知识:文本分句、词、字(Intl.Segmenter)

5. 文本分字、词、句 参考文章: https://mp.weixin.qq.com/s/MLmi-Yoi9sez8-5DPtcBVw   官方文档(构造参数): https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter/Segmenter   …

win环境mysql版本升级到5.7过程

win环境mysql版本升级到5.7过程,我win电脑里mysql版本是5.0,版本太老了,也不支持和nacos集成(nacos至少需要5.6版本的mysql),思来想去还是要升级一下自己电脑的mysql版本,保守点升级到5.7吧&…

项目实战之旅游网(三)后台用户管理(下)

目录 一.查询用户角色 二.修改用户角色 三.修改用户状态 一.查询用户角色 一个用户可以有多个角色,我们也可以给某个用户分配某些角色,所以我们还需要新建一个实体类(这个实体类需要放到bean下,因为这个实体类和数据据库不是对…

SpringCloud 网关组件 Zuul-1.0 原理深度解析

为什么要使用网关? 在当下流行的微服务架构中,面对多端应用时我们往往会做前后端分离:如前端分成 APP 端、网页端、小程序端等,使用 Vue 等流行的前端框架交给前端团队负责实现;后端拆分成若干微服务,分别…

独立开发变现周刊(第85期):一个会员服务的SaaS,月收入2万美金

分享独立开发、产品变现相关内容,每周五发布。目录1、Obsidian Canvas:一个无限的空间来构建你的想法2、message-pusher: 搭建专属于你的消息推送服务3、Careerflow LinkedIn: 40倍提升你的工作机会4、vue-pure-admin: 一款开源后台管理系统5、一个提供会…

【HarmonyOS】调测助手安装失败10内部错误

关于鸿蒙开发通过应用调测助手向watch gt 3 手表安装hap时报错。 问题背景: 鸿蒙开发,使用新建工程的helloworld 没有其他修改,生成hap包。然后通过应用调测助手向watch gt 3 手表安装hap时提示 安装失败:10.内部错误。 Sdk: a…

基于VUE学生选课管理系统

开发工具(eclipse/idea/vscode等):idea 数据库(sqlite/mysql/sqlserver等):mysql 功能模块(请用文字描述,至少200字): 一、登录注册模块: 1.学生,教师,管理员三个角色(同一时刻,账户…

WSL2的安装、应用

WSL2的安装、应用WSL安装、升级常用命令WSL导入导出其他 - 图形界面、虚拟化WSL安装、升级 win10系统上开启WSL参考如下,我先是安装了WSL1,之后又升级到WSL2的。关键是一些Win10上电配置,之后在windows应用商店下载ubuntu即可。 win10上lin…

Python基础(十八):学员管理系统应用

文章目录 学员管理系统应用 一、系统简介 二、步骤分析 三、需求实现 1、显示功能界面 2、用户输入序号,选择功能 3、根据用户选择,执行不同的功能 4、定义不同功能的函数 学员管理系统应用 一、系统简介 需求:进入系统显示系统功能…

跨域问题以及解决跨域问题的vue-cli解决方案

跨域问题 写项目前要问后端,接口支持跨域吗? 支持就不会出现问题,不支持就需要解决跨域问题 1.如何判断一个浏览器的请求是否跨域? 在A地址(发起请求的页面地址)向B地址(要请求的目标页面地址)发起请求时&#xff…

Java环境配置——Linux 安装JDK

注意这是用普通用户登录后,单独设置用户的java环境变量,非root用户 root用户的编辑命令是 vi /etc/profile 下载安装包 创建java目录 mkdir java 进入目录 cd java 上传安装包 将jdk-8u161-linux-x64.tar.gz上传到java目录 配置环境变量 解压安…

leetcode——155. 最小栈

leetcode——155. 最小栈🔍题目详情🤔解题思路💻代码实现💬总结👀先看这里👈 😀作者:江不平 📖博客:江不平的博客 📕学如逆水行舟,不进…

【信管5.2】估算活动资源与持续时间

估算活动资源与持续时间在经过上次课程的学习后,我们已经了解到了进度、活动的概念及定义,并且简单地学习了下活动顺序如何排列的一些工具技术。今天,我们学习的主要方向是估算活动资源与估算活动持续时间这两个过程,另外我们还会…

WMS类图分析-android12

为什么要分析类图? WMS是一个复杂的模块,就像一个很大的家族,里面有各种角色,认识类图就像是认识WMS模块中的各个角色,不先把人认清楚了,怎么更好的理解他们之间的交互? 我觉得,这…

达梦数据IPO过会:拟募资24亿 光谷“扫地僧”冯裕才将敲钟

雷递网 雷建平 12月23日武汉达梦数据库股份有限公司(简称:“达梦数据”)日前IPO过会,准备在科创板上市。达梦数据计划募资23.51亿元。其中,3.52亿元用于集群数据库管理系统升级项目,3.43亿元用于高性能分布…

pytorch 多卡运行详细教程

先说明一下背景,目前正在魔改以下这篇论文的代码: https://github.com/QipengGuo/GraphWriter-DGLgithub.com 由于每次完成实验需要5个小时(baseline),自己的模型需要更久(2倍),非…

2022星空创造营应用创新大赛圆满落幕,获奖名单出炉!

​12月22日,2022星空创造营应用创新大赛在2022手机创新周暨第十届手机设计大赛颁奖典礼上作为特别专场正式公布获奖名单。2022星空创造营应用创新大赛由联通在线、手机设计大赛天鹅奖组委会联合主办,联通在线音乐公司及工信部赛迪研究院共同承办&#xf…

小学生C++编程基础 课程10

938.最小公倍数的简单方法 (课程A) 难度:1 登录 939.最大公约数的简单方法 ( 课程A) 难度:1 登录 940.韩信点兵 (课程A) 难度:1 登录 941.求123…N的和 (课程A&#x…

Spring MVC【返回数据与请求转发和重定向】

Spring MVC【返回数据与请求转发和重定向】🍎一. 返回数据🍒1.1 返回静态页面🍒1.2 返回一个非静态页面🍒1.3 返回text/html类型页面🍒1.4 返回JSON对象🍒1.5 实现计算器功能🍒1.6 使用ajax方式…

【算法】P1 算法简介

算法什么是算法正确与错误的算法算法可以解决什么问题本专栏有哪些算法什么是算法 算法 (Algorithm) 取某个值或集合作为 输入,并产生某个值或集合作为 输出。算法就是把输入转换为输出的计算,描述这个计算的过程来实现输入与输出的关系。 正确与错误的…