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

SpringBoot自动化配置原理

时间:2024-02-01 20:34:55浏览次数:21  
标签:扫描 配置 SpringBoot spring 自动化 boot springframework 注解 原理

先在pom.xml文件中引入配置依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>2.1.4.RELEASE</version>
        </dependency>

位于启动类上的核心注解@SpringBootApplication
这个SpringBootApplication注解是一个复合注解

  1. 第一个注解是 @SpringBootConfiguration,底层是一个@Configuration注解,声明当前类是一个配置类
  2. 第二个注解是@ComponentScan,是一个组件扫描,spring会扫描引导类所在的包及子包下的组件(主类包下的所有类)
  3. 第三个注解是@EnableAutoConfiguration,底层是通过@Import注解导入一个AutoConfigurationImportSelector配置类,这个配置类会自动调用 selectImports 方法,这个方法会去扫描 META-INF/spring.factories的文件中Key为EnableAutoConfiguration的所有数据,同时还会扫描 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 中的数据,再经过@CondtionalXxx的条件判断,把满足条件的内容加载到内存中,封装成一字符串数组

启动类中的run方法

SpringApplication.run(TliasApplication.class, args);

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

标签:扫描,配置,SpringBoot,spring,自动化,boot,springframework,注解,原理
From: https://www.cnblogs.com/hmxjc/p/18002045

相关文章

  • 【APP自动化进阶】APP自动化项目框架实战
    一、自动化项目介绍1.涉及技术栈pythonappiumseleniumpytestalluresubprocessadb2.实现的功能概述APP自动化执行支持pytest生成测试报告多线程执行自动开启、关闭appium、allure等服务二、框架及项目结构项目目录app---apk文件base---核心方法driver.py-......
  • SpringBoot自动化配置
    SpringBoot自动化配置一.SpringBoot自动化配置原理1.SpringBoot引导类注解介绍在SpringBoot的启动引导类上有一个@SpringBootApplication注解这个注解中有三个Spring的注解,分别是@SpringBootConfiguration/@CompoenetScan/@EnableAutoConfiguration2.@SpringBootCo......
  • 浅谈UI自动化测试
    为了让对自动化技术感兴趣的朋友们有真实案例的支持,今天我们给大家带来一期适合新手的UI自动化测试介绍。我们的目标是让大家能够轻松理解UI自动化测试的概念,并且能够亲自动手去实践。通过这个介绍,大家能够对UI自动化测试有一个整体的理解,并且能够自己动手去做。项目的选取:虽然U......
  • springboot接口加解密传输
    前言:写这个博客的目的也是想着后面如果需要用上的时候方便参考,这篇文章使用的也是比较简单的加解密流程,但这篇文章注重点是后端对于前端传过来的加密参数怎么接收,然后统一拦截解密后又回到原本接口上,接口返回结果时又是怎么将结果集加密后传输出去还有一个很重要的......
  • springboot实现文件上传
    编程环境介绍:springboot2.7.4接收前端提交的文件请求方式:Post请求路径:/upload实现步骤前端: 后端:接受类型为mutipartFile新建controller内方法用于接收文件获取文件内容输入流,写入到本地磁盘@PostMapping("upload")publicResult<String>upload(MultipartFile......
  • CAS单点登录原理解析
    前段时间时间需要和其他项目做cas集成,于是乎在网上找了几篇教程看了一下,好了,很简单,学会了,开搞(自以为研究明白)。集成完事了,登录成功了,自以为这就过去了。然而,没过几天就出bug了,这下惨了,当初没有好好学出了问题都不知道咋解决。无奈,只得静下心来好好学习一番(当初太懒付出的代价)。......
  • CAS—认证原理
    摘要:以下是对SSO的简要介绍,重点介绍CAS认证过程。CASClient负责处理对客户端受保护资源的访问请求。当需要...展开CAS,CentralAuthenticationService—中央认证服务,是Yale大学发起的一个企业级的、开源的项目。旨在为Web应用系统提供一种可靠的SSO解决方式。以下简......
  • B+树索引的基本原理
    索引键:B+树索引的每个节点存储了数据表中一行或多行的索引键(即用于排序和查找的列的值)。叶子节点:B+树的叶子节点包含了指向数据表中具体行的指针(或者直接包含行数据,取决于索引的实现方式),这些行的索引键值与叶子节点中的键相对应。非叶子节点:B+树的非叶子节点(包括根节点)用于指导搜索......
  • springboot整合mybatisplus
    1、引入依赖<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency&g......
  • springboot整合mybatis(纯注解版)
    springboot整合mybatis1、注解:参考表@ResponseBody:表示该方法的返回结果直接写入HTTPresponsebody中,一般在异步获取数据时使用,用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTPres......