原理初探
自动装配:
pom.xml
spring-boot-dependencies 核心依赖在父工程中~
里面有各种各样的jar包 不用写版本 因为都被管理了~ 直接调用即可
我们在写或者引入一些Springboot依赖的时候,不需要指定版本 因为有这些版本的仓库
spring-boot-starter-parent
资源过滤都已经配置好了
如果插件下载失败就在这里操作 install一下
启动器
1. <dependency> 2. <groupId>org.springframework.boot</groupId> 3. <artifactId>spring-boot-starter</artifactId> 4.
如果把启动器依赖代码删了 程序就崩溃了!
- 启动器:就是Spring启动的场景
- 比如 Spring-boot-starter-web 就会帮我们自动导入web的所有依赖
- Springboot会将所有的功能场景,变成一个个的启动器
主程序
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
@SpringBootConfiguration: Springboot的配置
@Configuration:Springboot:配置类
@Componnent:是一个Spring的组件
@EnableAutoConfiguration:自动配置
@AutoConfigurationPackage:自动配置包
@Import({Registrar.class}):导入选择器
@Import({AutoConfigurationImportSelector.class}):自动导入选择
这里是手动给容器导入组件!
我们点进去看看
各种各样的配置!
Properties properties=propertiesLoaderutils.loadproperties(resource);
所有资源加载到配置类中~
结论:
springboot所有配置都是在启动的时候扫描并加载 :spring.factories所有的自动配置类都在这里
但是不一定生效,要判断条件是否成立,只要导入了对应的start,就有对应的启动器了,有了启动器 我们自动配置就会生效,然后就会配置成功!
小王就给大家带来这些自动装配的原理跟源码