12.0、springboot-自动装配原理再理解
1 . springboot启动会加载大量的自动配置类(xxxautoconfiguration)(springboot会自动装配properties的默认值)
2 . 看我们自己需要的功能有没有在springboot默认写好的自动配置类当中
3 . 我们再来看看这个自动配置类中到底配置了哪些组件(只要我们要用的组件存在其中,我们就不需要再手动配置了)
4 . 给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们只需要在配置文件中指定绑定这些属性的值即可
xxxxAutoConfigurartion:自动配置类本身也是组件,给容器中添加这些组件
xxxxProperties:封装配置文件中相关属性
总结:
每一个xxxxAutoConfigurartion都是一个组件,他会用conditionon条件判断是否将该组件添加到spring容器之中,如果条件符合则将该组件添加到容器中并且生效。
一旦这个配置类生效:这个配置类就会给容器中添加各种组件;这些组件的属性是从对应的properties类中获取的,这些类里面的每一个属性都是和配置文件绑定的
所有在配置文件中能配置的属性都是在xxxxProperties类中封装的,配置文件能配置什么就可参照某个功能对应的这个属性类
想要添加某个组件只需要在pom.xml中添加相关的依赖即可
在最后补充一点:
那么多的自动配置类,必须在一定的条件下才能生效,也就是说,我们加载了这么多的配置类,但不是所有的都生效了。
那我们怎么知道哪些自动配置类生效呢?
我们可以通过在application配置文件中添加debug=true属性,来让控制台打印自动配置报告,这样我们就可以很方便的知道哪些自动配置类生效;配置好直接启动即可查看