SpringBoot自动化配置原理
先在pom.xml文件中引入配置依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
位于启动类上的核心注解@SpringBootApplication
这个SpringBootApplication注解是一个复合注解
- 第一个注解是 @SpringBootConfiguration,底层是一个@Configuration注解,声明当前类是一个配置类
- 第二个注解是@ComponentScan,是一个组件扫描,spring会扫描引导类所在的包及子包下的组件(主类包下的所有类)
- 第三个注解是@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容器中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律