spring boot原理详解

两种方法创建spring boot入门程序

spring boot原理详解

SpringBootApplication注解包括了SpringBootConfiguration,而其又包含Spring中的Configure注解,所以可以在类中直接添加Bean到容器中

spring boot原理详解

第二种方法如下

spring boot原理详解


两种获取配置方法及原理

1,直接使用Environment的getProperties获取配置文件中的属性

spring boot原理详解

原理:获取Environment对象,将其注入到自定义userConfig类中获取

spring boot原理详解

spring boot原理详解

2,第二种方法获取配置:value注解

spring boot原理详解


三种加载配置文件的方法

1,传参

spring boot原理详解

2,创建配置类,加上configuration注解(相当于将该类作为spring的xml配置文件中的beans,作用为配置spring容器)

spring boot原理详解

3,自动配置ConfigurationProperties+前缀

spring boot原理详解

spring boot原理详解

动态加入配置文件

spring boot原理详解

此时在Environment中可以获取添加进来的属性


不同环境启用不同配置文件

配置文件application-dev.properties

      application-test.properties

方法1,传参 --spring.profiles.active=test,dev

spring boot原理详解

方法2,springapplication设置

spring boot原理详解

扩展:根据不同环境装配不同的bean(profile注解)

spring boot原理详解

测试环境下test及默认的没加profile的bean会被装配


自动装配bean

可以使用Condition接口自定义装配bean规则,spring boot也自带很多校验规则,这里演示自带的以properties校验

spring boot原理详解

spring boot原理详解

此时启动项目,该bean自动装配,下面演示自定义规则

1,创建MyCondition实现Condition接口

spring boot原理详解

2,创建bean,添加condition

spring boot原理详解

此时classpath下的配置文件中找到了对应配置,MyCondition中返回true,则进行自动装配bean