当前位置: 代码网 > it编程>编程语言>Java > SpringBoot自动装配原理及使用说明

SpringBoot自动装配原理及使用说明

2025年11月05日 Java 我要评论
1、spring boot自动装配是什么?springboot自动装配主要是基于注解编程 和 约定优于配置的思想来设计的。自动装配就是由spring自动把其他组件中的bean装载到ioc容器中,不需要

1、spring boot自动装配是什么?

springboot自动装配主要是基于注解编程 和 约定优于配置的思想来设计的。

自动装配就是由spring自动把其他组件中的bean装载到ioc容器中,不需要开发人员再去配置文件中添加大量的配置。我们只需要在spring boot的启动类上添加 @springbootapplication 注解,开启自动装配。

这种自动装配的思想,在spring 3.x以后就开始支持,我们只要在类上添加 @enable 注解就可以了,只是没有像spring boot这样全面地去设计。

因此,spring 和 spring boot的最大区别就是在于spring boot的自动装配。那自动装配的原理又是什么呢?

2、自动装配原理

@springbootapplication这个注解是暴露给用户使用的入口,它的底层是由 @enableautoconfiguration这个注解来实现的。

这样一个自动装配的实现,我把它归纳为以下三个核心步骤:

第一步:启动依赖组件的时候,组件中必须要包含 @configuration 的配置类,在这个配置类里面声明为 @bean 注解,就将方法的返回值或者属性值 注入到ioc容器中。

第二步:如果是使用第三方jar包,spring boot采用spi机制,只需要在/meta-inf/目录下增加spring.factories配置文件。然后,spring boot会根据约定规则,自动使用springfactoriesloader来加载配置文件中的内容。

第三步:spring获取到第三方jar中的配置以后,会使用调用importselector接口来完成动态加载。

这样的设计的好处在于,大幅减少了臃肿的配置文件,而且各模块之间的依赖实现了深度解耦。比如,我们使用spring创建web程序时需要导入非常多的maven依赖,而spring boot只需要一个maven依赖来创建web程序,并且spring boot还把我们最常用的依赖都放到了一起,我们只需要 引入 spring-boot-starter-web 这一个依赖就可以完成一个简单的web应用。

以前用spring的时候需要xml文件配置开启一些功能,现在spring boot不用xml配置了,只需要写一个, 加了@configuration注解 或者实 现对应接口的配置类就可以了。

3、总结

①、通过@import(autoconfigurationimportselector.class),导入配置类,这里并不是单个配置类的导入

②、autoconfigurationimportselector实现了importselector类,重写了selectimports方法,用于实现选择性的批量配置类的装配

③、通过spring的springfactoryloader机制,扫描classpath下的meta/spring.factories文件,读取需要实现自动装配的配置类

④、通过条件筛选,把不符合的移除,最终实现自动装配

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com