百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Spring Boot 四大核心组件,你知道几个?

suiw9 2025-03-14 20:30 15 浏览 0 评论

前言

先透露一下,四大组件分别是:starter, autoconfigure, CLI 以及actuator。

下面我们就来详细介绍一些他们有什么用。

一、Spring Boot Starter

1.1 Starter的应用示例


    org.springframework.boot
    spring-boot-starter-thymeleaf



    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    1.3.2

Spring Boot 基础就不介绍了,推荐下这个实战教程:

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

在我们的Spring Boot项目种的POM文件中总会看到这两种依赖:

spring-boot-starter-xxxxxx-spring-boot-starter

这就是spring boot的四大组件之一的starter。

a、spring-boot-starter-thymeleaf

b、mybatis-spring-boot-starter

两种starter的区别就是 >>

  • 官方提供的starter是这样的:spring-boot-starter-xxx
  • 非官方的starter是这样的:xxx-spring-boot-starter

其中xxx就是我们想要依赖的组件或者jar包。上例就是我们spring boot用来引入thymeleaf引擎和mybatis框架所配置的依赖。引入之后通过简单的约定配置就可以正常使用。

比如:

Thymeleaf引擎约定配置:

##前端引擎配置
spring:
  thymeleaf:
    enabled: true
    servlet:
      content-type: text/html
    mode: HTML
    ## 页面前缀
    prefix: classpath:/templates/
    ## 后缀
    suffix: .html

Mybatis约定配置:

mybatis:
  mapper-locations: classpath:mapper/*.xml  #注意:一定要对应mapper映射xml文件的所在路径
  type-aliases-package: com.hi.ld.vo.system  # 注意:对应实体类的路径
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

下面让我们来看看以前怎么配置thymeleaf。

1.2 Spring Boot之前的Thymeleaf和Mybatis应用

废话不多说,直接上代码:

1.2.1 Thymeleaf配置

a. 添加对应依赖:


  org.thymeleaf
  thymeleaf-spring5
  3.0.11.RELEASE


  org.thymeleaf.extras
  thymeleaf-extras-java8time
  3.0.4.RELEASE

b. bean配置


  
  
  



  



  

1.2.2 Mybatis配置

a. 添加对应依赖:

 
   org.springframework.boot
   spring-boot-starter-jdbc
 
 
   org.mybatis
   mybatis
 
 
   org.mybatis
   mybatis-spring
 

b. bean配置

下面的第3, 4步骤就是Mybatis相关配置。第一步是引入资源配置。第二步是配置数据源



 
 
 

 
 
  
  
  
  
  

  
  
  
  
  
  
  
  
  
 

 
 
  
  
  
  
  
  
  
  
 

 
 
  
  
  
  
 

1.2.3 小结

a、Starter 帮我们封装好了所有需要的依赖,避免我们自己添加导致的一些Jar包冲突或者缺少包的情况;

b、Starter帮我们自动注入了需要的Bean实例到Spring 容器中,不需要我们手动配置(这个可以说是starter干的,实际上并不是,这里埋个坑,下面解答);

所以: starter包的内容就是pom文件,就是一个依赖传递包。


二、Spring Boot Autoconfigure

2.1 autoconfigure 简介

autoconfigure在我们的开发中并不会被感知,因为它是存在与我们的starter中的。所以我们的每个starter都是依赖autoconfigure的:

当然我们也可以把autoconfig的内容直接放在starter包里边。


a. spring-boot-autoconfigure:

注意:这里有个点,就是官网提供的configure大多数在spring-boot-autoconfigure包里边,并没有单独创建新包。

b、mybatis-spring-boot-autoconfigure

2.2 小结

autoconfigure内容是配置Bean实例到Spring容器的实际代码实现包,然后提供给starter依赖。所以说1.2.3中的b项所说的配置Bean实例到Spring容器中实际是autoconfigure做的,因为是starter依赖它,所以也可以说是starter干的。

所以:autocinfigure是starter体现出来的能力的代码实现

三、Spring Boot CLI

Spring Boot CLI是一个命令行使用Spring Boot的客户端工具;主要功能如下:

  • 运行groovy脚本 => 官网2.1
  • 打包groovy文件到jar => 官网2.3
  • 初始化Spring Boot项目 => 官网2.4
  • 其他

先上个官网文档:

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-cli.html

因为这个我们用得比较少,所以就不多赘述了。个人感觉比较流畅的功能就是命令行直接执行groovy脚本了。

四、Spring Boot actuator

actuator是Spring Boot的监控插件,本身提供了很多接口可以获取当前项目的各项运行状态指标。Spring Boot 学习笔记,这个分享给你。

官网文档:

https://docs.spring.io/spring-boot/docs/2.4.0/reference/html/production-ready-features.html#production-ready

名词解释:

Endpoints: 需要监控的端点。参考官网第二节官网文档

可用的端点:

下方的是web工程的端点。

使用方法如下:

4.1 添加依赖

Spring Boot 基础就不介绍了,推荐下这个实战教程:

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


    org.springframework.boot
    spring-boot-starter-actuator

4.2 配置需要开启监控的端点

management:
  endpoint:
    health: ## 开启健康监控端点
      enabled: true
    beans: ## 开启Bean实例监控端点
      enabled: true

4.3 启动服务并验证

4.3.1 启动结果

4.3.2 查看各个监控信息

浏览器访问(查看监控信息地址):http://localhost:9500/actuator

查看服务健康状态:

其他API查看官方文档了解或者留言一起研究一下,厚着脸皮我也没怎么用过这个。不过下一章介绍了starter和autoconfigure之后我们就可以去研究actuator的源码了。。。。

总结

本章主要介绍了Spring Boot的四大组件的作用,其中主要是starter和autoconfigure,另外的CLI和actuator用的并不多,所以没有仔细介绍。

相关推荐

“旅行者”回望30载 一点淡蓝“焕新颜”

据美国国家航空航天局(NASA)网站12日报道,为纪念著名的“暗淡蓝点”(PaleBlueDot)照片问世30周年,NASA重新制作了这张照片,使其“焕新颜”,NASA喷气推进实验室于近日发布了新...

「底层技术原理体系」深入探索Java服务器性能监控Metrics框架

承接上文承接上文中的【深度挖掘Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析(Counter篇),我们知道和了解了对应的Counter计数器的作用...

由浅入深,66条JavaScript面试知识点(七)

作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061...

6款可替代dreamweaver的工具(替代director的软件)

dreamweaver对一个web前端工作者来说,再熟悉不过了,像我07年接触web前端开发就是用的dreamweaver,一直用到现在,身边的朋友有跟我推荐过各种更好用的可替代dreamweaver...

宇宙厂:Vue3.0 为何用 Proxy 替代 defineProperty?

大家好,很高兴又见面了,我是"...

专为Vue打造的开源表单验证框架,Github star7k+——VeeValidate

介绍vee-validate是Vue.js的基于模板的验证框架,可以验证输入并显示错误。基于模板,只需为每个输入值更改时指定应使用哪种验证器。系统会在支持40多种语言环境的情况下自动生成错误。现成的规...

自定义 Redis Starter 实现与扩展全解析

一、引言在SpringBoot开发中,Redis凭借其高性能和丰富的数据结构,成为缓存、分布式锁、消息队列等场景的首选解决方案。为了提升开发效率,避免重复配置和代码编写,我们可以创建一个自定义...

OpenAI Operator 的开源替代方案:Nanobrowser

Nanobrowser:OpenAIOperator的开源替代方案Nanobrowser[1]是一款开源的AI网页自动化工具,官方号称是OpenAIOperator的开源替代品。...

微软开始测试Edge AI历史搜索 为Windows 11提供更好的安全性

微软Edge浏览器正在获得更多与AI相关的功能。此外,Edge似乎正在试验WebPushAPI,这可以改善通过浏览器处理Windows11通知的方式。另一个值得注意的变化是与下载...

「Postman」测试(Tests)脚本编写和断言详解

测试确认您的API按预期工作,服务之间的集成运行可靠,并且新开发没有破坏任何现有功能。您可以使用JavaScript为PostmanAPI请求编写测试脚本。当您的API项目出现问题时...

NestJs 详细介绍及使用示例(nestjs视频教程)

NestJS详细介绍及使用示例如果觉得不错欢迎点赞、关注、转发、收藏,您的支持是我最大的动力,谢谢!...

angularjs应用prerender.io 搜索引擎优化实践

上一篇博文(http://www.cnblogs.com/ideal-lx/p/5625428.html)介绍了单页面搜索引擎优化的原理,以及介绍了两个开源框架的优劣。prerender框架的工作原理...

微软Edge浏览器测试“AI历史搜索”,口语化寻找历史标签页

IT之家3月4日消息,科技媒体WindowsLatest昨日(3月3日)发布博文,报道称微软正邀请Canary频道用户,在MicrosoftEdge浏览器中,测试AI...

async-validator 源码学习(一):文档翻译

async-validator是一个表单异步校验库,阿里旗下的Ant-design和Element组件库中的表单验证使用的都是async-validator,目前版本已更新到4.0.7...

HTML表单验证库SMValidator(html中表单验证)

SMValidator是一个易用、轻量且强大的表单验证工具。支持html和javascript两种配置方式,可以立即或手动触发验证,独立显示每条规则的信息,可自定义表单或信息容器的样式。目前minif...

取消回复欢迎 发表评论: