首页 > 其他分享 >SpringBoot自动化配置

SpringBoot自动化配置

时间:2024-02-01 19:22:52浏览次数:29  
标签:SpringBoot 扫描 配置 SpringBootConfiguration EnableAutoConfiguration 自动化 注解

SpringBoot自动化配置

一.SpringBoot自动化配置原理

1.SpringBoot引导类注解介绍
在SpringBoot的启动引导类上有一个@SpringBootApplication注解

image

这个注解中有三个Spring的注解,分别是 @SpringBootConfiguration / @CompoenetScan / @EnableAutoConfiguration

image

2.@SpringBootConfiguration注解介绍
在@SpringBootConfiguration注解中我们能看到一个@Configuration注解,此注解的作用是声明此类是一个配置类,所以标记了@SpringBootConfiguration注解的类,就是一个配置类

image

3.@CompoenetScan注解介绍
此注解为组件扫描注解,作用是来指定扫描路径,扫描路径为引导类所在的包及子包下的组件

4.@EnableAutoConfiguration注解介绍
在@EnableAutoConfiguration注解上有一个@Import注解,导入了一个配置类,这个配置类是AutoConfigurationImportSelector,在配置类中有一个方法,在这个配置类加载时会自动调用

image

在这个方法中框起来的部分会去扫描 META-INF/spring.factories的文件中Key为EnableAutoConfiguration的所有数据,同时还会扫描 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 中的数据,再经过@CondtionalXxx的条件判断,把满足条件的内容加载到内存中,封装成一字符串数组

二.自动化配置的实现

在启动类中的run方法,会把上面注解实现加载到内存中的字符串数组根据条件反射创建对象,把对象当作bean注入到Spring容器中

image

标签:SpringBoot,扫描,配置,SpringBootConfiguration,EnableAutoConfiguration,自动化,注解
From: https://www.cnblogs.com/Leon-bky/p/18001977

相关文章

  • 浅谈UI自动化测试
    为了让对自动化技术感兴趣的朋友们有真实案例的支持,今天我们给大家带来一期适合新手的UI自动化测试介绍。我们的目标是让大家能够轻松理解UI自动化测试的概念,并且能够亲自动手去实践。通过这个介绍,大家能够对UI自动化测试有一个整体的理解,并且能够自己动手去做。项目的选取:虽然U......
  • springboot接口加解密传输
    前言:写这个博客的目的也是想着后面如果需要用上的时候方便参考,这篇文章使用的也是比较简单的加解密流程,但这篇文章注重点是后端对于前端传过来的加密参数怎么接收,然后统一拦截解密后又回到原本接口上,接口返回结果时又是怎么将结果集加密后传输出去还有一个很重要的......
  • 永久修改/etc/proc下的项的配置文件
    一般/proc/下的数据,想永久生效,都需要放在/etc/sysctl.conf如何需要修改如/proc/sys/net/nf_conntrack_max这个的参数,需要将net后面的斜杠换成点后vim/etc/sysctl.confnet.nf_conntrack_max=656666重新生效sysctl-p......
  • springboot实现文件上传
    编程环境介绍:springboot2.7.4接收前端提交的文件请求方式:Post请求路径:/upload实现步骤前端: 后端:接受类型为mutipartFile新建controller内方法用于接收文件获取文件内容输入流,写入到本地磁盘@PostMapping("upload")publicResult<String>upload(MultipartFile......
  • [银河麒麟] Samba的安装与配置
    什么是Samba以及它是干嘛的Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(ServerMessageBlock/CommonInternetFileSystem)网络协议做链接的自由软件。第三版不仅可访问及分享SMB的文件夹及打印机,本身还可以集成入WindowsServer的网域,扮演为网域控制站(D......
  • 【VIrtuoso】abstract的相关配置
    需要将cds.libcopy过来,保证abstract能够吃到工艺的相关信息 absSkillMode()absSetOption("NewLibraryPath""./")absSetOption("NewLibraryName""TEST")absSetLibrary("TEST")absAttachTechLib("TN28")absSetOption(&quo......
  • linux单网卡双IP配置
     [root@localhost~]#more/etc/sysconfig/network-scripts/ifcfg-ens224/etc/sysconfig/network-scripts/ifcfg-ens224:1::::::::::::::/etc/sysconfig/network-scripts/ifcfg-ens224::::::::::::::TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=no#BOOTPROTO=dhcp......
  • Developer 配置
    Git下载#pathF:\Git\binF:\Git\binPython下载#配置PathD:\Lang\Python\Python312D:\Lang\Python\Python312\ScriptsGo下载GOROOTGOROOT,这个就是Go环境所在目录的配置GOPATHD:\Workspace\goSpace,这个是Go项目的工作目录,开发的代码就写在这个文件夹中path:......
  • google play(谷歌) 订阅接入 支付后台配置
    一、Google开发者平台配置回调订阅后台地址https://console.cloud.google.com/projectselector2/cloudpubsub/topic/list 新建主题   创建订阅输入回调服务端地址(付款成功后进行回调) 并且需要设置 [email protected]......
  • ffmpeg 配置安装
     第一步打开  https://ffmpeg.org/ 第二步 https://ffmpeg.org/download.html   第三步  https://www.gyan.dev/ffmpeg/builds/  第四步 新建 用户变量 c:\ffmpeg\bin 第5步 打开cmd  输入 ffmpeg-version ......