我们要知道springboot启动的时候会进行自动配置,找到META-INF/spring.factories
,并进行加载到ioc容器中!!!
进入到该文件中,随便找个类!
点进去!!!
看见@EnableConfigurationProperties({ServerProperties.class})
这个注解
点进ServerProperties.class
这表示的意思就是类与application.yml文件进行绑定
其中的prefix
的值代表yml文件中的
这个server后面能够点出来的各种属性,就是这个类的那些属性!!!
以上就是springboot自动配置与application.yml联系!!!
对于自动配置:可以这样说
springboot是通过main方法下的SpringApplication.run方法启动的,
启动的时候他会调用refshContext方法,先刷新容器,然后根据解析注解或者解析配置文件的形式注册bean,
而它是通过启动类的SpringBootApplication注解进行开始解析的,
他会根据 EnableAutoConfiguration开启自动化配置,
里面有个核心方法ImportSelect选择性的导入,
根据loadFanctoryNames根据classpash路径以MATA-INF/spring.factorces下面
以什么什么EnableAutoConfiguration开头的key去加载里面所有对应的自动化配置,
他并不是把这一百二十多个自动化配置全部导入,
在他每个自动化配置里面都有条件判断注解,先判断是否引入相互的jar包,再判断容器是否有bean再进行注入到bean容器