spring的原理

本文详细介绍了SpringBoot中的配置文件优先级(application.properties,application.yml,Java系统属性,命令行参数),以及bean作用域的五种类型。重点剖析了@SpringApplicationConfiguration的自动配置原理和@Conditional注解的使用场景。
摘要由CSDN通过智能技术生成

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容器。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值