如何进行SpringBoot自动装配原理分析

本篇文章为大家展示了如何进行SpringBoot自动装配原理分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联提供做网站、成都做网站、网页设计,成都品牌网站建设1元广告等致力于企业网站建设与公司网站制作,10多年的网站开发和建站经验,助力企业信息化建设,成功案例突破1000多家,是您实现网站建设的好选择.

先看看SpringBoot的主配置类:

如何进行SpringBoot自动装配原理分析

里面有一个main方法运行了一个run()方法,在run方法中必须要传入一个被@SpringBootApplication注解的类。

@SpringBootApplication

SpringBoot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就会运行这个类的main方法来启动SpringBoot项目。

那@SpringBootApplication注解到底是什么呢,点进去看看:

如何进行SpringBoot自动装配原理分析

发现@SpringBootApplication是一个组合注解。

@SpringBootConfiguration

先看看@SpringBootConfiguration注解:

如何进行SpringBoot自动装配原理分析

这个注解很简单,表明该类是一个Spring的配置类。

再进去看看@Configuration:

如何进行SpringBoot自动装配原理分析

说明Spring的配置类也是Spring的一个组件。

@EnableAutoConfiguration

这个注解是开启自动配置的功能。

如何进行SpringBoot自动装配原理分析

先看看@AutoConfigurationPackage注解:

如何进行SpringBoot自动装配原理分析

这个注解是自动配置包,主要是使用的@Import来给Spring容器中导入一个组件 ,这里导入的是Registrar.class。

来看下这个Registrar:

如何进行SpringBoot自动装配原理分析

就是通过这个方法获取扫描的包路径,可以debug看看:

在这行代码上打了一个断点:

如何进行SpringBoot自动装配原理分析

启动项目:

进入断点处:

如何进行SpringBoot自动装配原理分析

看看能否获取扫描的包路径:

如何进行SpringBoot自动装配原理分析

已经获取到了包路径:

如何进行SpringBoot自动装配原理分析

那那个metadata是什么呢:

可以看到是标注在@SpringBootApplication注解上的DemosbApplication,也就是我们的主配置类:

如何进行SpringBoot自动装配原理分析

说白了就是将主配置类(即@SpringBootApplication标注的类)的所在包及子包里面所有组件扫描加载到Spring容器。所以包名一定要注意。

现在包扫描路径获取到了,那具体加载哪些组件呢,看看下面这个注解。

@Import({AutoConfigurationImportSelector.class})

如何进行SpringBoot自动装配原理分析

@Import注解就是给Spring容器中导入一些组件,这里传入了一个组件的选择器:AutoConfigurationImportSelector。

里面有一个selectImports方法,将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中。

如何进行SpringBoot自动装配原理分析

debug运行看看:

会给容器中导入非常多的自动配置类(xxxAutoConfiguration);就是给容器中导入这个场景需要的所有组件,并配置好这些组件:

如何进行SpringBoot自动装配原理分析

如何进行SpringBoot自动装配原理分析

有了自动配置类,免去了我们手动编写配置注入功能组件等的工作。

那他是如何获取到这些配置类的呢,看看上面这个方法:

如何进行SpringBoot自动装配原理分析

如何进行SpringBoot自动装配原理分析

会从META-INF/spring.factories中获取资源,然后通过Properties加载资源:

如何进行SpringBoot自动装配原理分析

Spring Boot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作。以前我们需要自己配置的东西,自动配置类都帮我们完成了。

如何进行SpringBoot自动装配原理分析

J2EE的整体整合解决方案和自动配置都在spring-boot-autoconfigure-2.0.3.RELEASE.jar:

如何进行SpringBoot自动装配原理分析

如何进行SpringBoot自动装配原理分析

比如看看WebMvcAutoConfiguration:

都已经帮我们配置好了,我们不用再单独配置了:

如何进行SpringBoot自动装配原理分析

上述内容就是如何进行SpringBoot自动装配原理分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。

文章名称:如何进行SpringBoot自动装配原理分析
网站地址:https://www.cdcxhl.com/article4/pipjie.html

成都网站建设公司_创新互联,为您提供微信公众号关键词优化品牌网站建设标签优化虚拟主机网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发