Springboot(三):springboot的自动装配原理

(三):springboot的自动装配原理
在自动装配原理中就是启动类上的@SpringBootApplication起到了关键性的作用


image.png

我们点开@SpringBootApplication,看到这个接口


image.png

其中的@EnableAutoConfiguration这个注解
再点开他
image.png

@Import(AutoConfigurationImportSelector.class)
再点开他


image.png

主要的是selectImports()这个方法,找到所有JavaConfig自动配置类的全限定名对应的class,然后将所有自动配置类加载到Spring容器中。
我们在看@SpringBootApplication注解里面另一个注解@SpringBootConfiguration
@SpringBootConfiguration有个我们很熟悉的注解@Configuration,@Configuration的一个方法proxyBeanMethods()通过下图
image.png

很多组件会装配到实体类上封装为一个bean,所以我们在application.properties中的关键字不能随意改,server.port、logging.level等等是固定的,应该springboot要确认能找到属性的值,
总结:@SpringBootConfiguration表示的是该类会作为Springboot的一个配置类,
@EnableAutoConfiguration表示开启自动配置功能,里面也实现了自动配置原理
@Configuration会把组件会装配到实体类上封装为一个bean,AutoConfigurationImportSelector的selectImports()这个方法,找到所有JavaConfig自动配置类的全限定名对应的class,然后将所有自动配置类加载到Spring容器中。bean有了,配置有了,相当于对象也有了,这就是自动配置.
@ComponentScan用来将包加入SpringIOC的包扫描,
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容