全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

SpringBoot自动装配原理是什么?

发布时间:2023-10-11 18:08:37
发布人:xqq

一、SpringBoot自动装配原理

springboot的自动装配的源码是在spring-boot-autoconfigure-x.x.x.release.jar包中,在springboot主启动类上有@SpringBootApplication注解,这个注解是整个springboot项目必不可少的注解,所以说自动装配原理和这个注解有很大的关系,@SpringBootApplication是一个复合注解也可以说是派生注解,在这个注解中还包含着一个@EnableAutoConfiguration注解,这个注解也也是就是开启自动配置。

当我们打开这个注解的源码,我们可以看到在这个注解上面,还标识这@Import注解,其中所有的关键功能都是由这个注解提供的,利用@import注解导入AutoConfigurationImportSelector的selectImports()方法,通过SpringFactoriesLoader.LoadFactoryNames()扫描所有具有META-INF/spring.factories的jar包。在spring-boot-autoconfigure-x.x.x.x.jar包中就有一个spring.factories文件。

在这个spring.factories文件中都是一组一组的key=value键值对的形式存储,其中一个key就是EnableAutoConfiguration类的全类名,而他的value是一个xxxxautoconfiguretion的类名列表,这些类名都是以逗号隔开的。

其实说了这么多,springboot的自动装配原理,就是@EnableAutoConfiguration这个注解通过@springbootapplication这个注解被间接的标记在了springboot的启动类上,在springapplication.run(…)的内部就会执行selectimports()方法,找到所有javaconfig自动配置类的全限定类名对应的class,然后将所有的自动配置类加载到spring容器中。

延伸阅读:

二、springboot帮我们做了什么

通常搭建一个基于spring的web应用,我们需要做以下工作:

1、pom文件中引入相关jar包,包括spring、springmvc、redis、mybaits、log4j、mysql-connector-java 等等相关jar …

2、配置web.xml,Listener配置、Filter配置、Servlet配置、log4j配置、error配置 …

3、配置数据库连接、配置spring事务

4、配置视图解析器

5、开启注解、自动扫描功能

6、配置完成后部署tomcat、启动调试

#it技术干货

相关文章

“软链接” 和“硬链接”的区别?

“软链接” 和“硬链接”的区别?

2023-10-11
udp、tcp的区别,使用场景?

udp、tcp的区别,使用场景?

2023-10-11
模块化、组件化、插件化的区别?

模块化、组件化、插件化的区别?

2023-10-11
Java开发需要用到哪些软件?

Java开发需要用到哪些软件?

2023-10-11

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取