spring的配置优先级
1.SpringBoot中支持三种格式的配置文件:
(1) application.properties 优先级第三
(2) application.yml 优先级第四 (主流)
(3) application.yaml 优先级第五
(4) Java系统属性 优先级第二
(5) 命令行参数 优先级最高
bean作用域
1.Spring支持五种作用域,后三种在web环境才生效
2.通过 @Scope("作用域")传入参数来决定作用域
SpringBoot原理
1.起步依赖
2.自动配置
3.自动配置原理
@SpringBootApplication //该注解标识在SpringBoot工程引导类上,是SpringBoot中最最最重要的注解。该注解由三个部分组成:
(1)@SpringBootConfiguration:该注解与 @Configuration 注解作用相同,用来声明当前也是一个配置类。
(2)@ComponentScan:组件扫描,默认扫描当前引导类所在包及其子包。
(3)@EnableAutoConfiguration:SpringBoot实现自动化配置的核心注解。
这是Import接口的实现类
通过@Import导入一个封装了所有bean对象的String[]
4.@Conditional
(1)作用:按照一定的条件进行判断,在满足给定条件后才会注册对应的bean对象到Spring IOC容器中。
(2)位置:方法、类
(3)@Conditional 本身是一个父注解,派生出大量的子注解:
(3.1) @ConditionalOnClass:判断环境中是否有对应字节码文件,才注册bean到IOC容器。
示例:
(3.2) @ConditionalOnMissingBean:判断环境中没有对应的bean(类型 或 名称) ,才注册bean到IOC容器。
(3.3)@ConditionalOnProperty:判断配置文件中有对应属性和值,才注册bean到IOC容器。