springboot自动化配置的原理?

boot自动配置的原理

spring boot启动会加载大量的自动配置类:(在下面的spring.factories文件中)通过@ConditionalOnXXX判断我们是否导入了相关的功能(就是pom文件中的starter),如果导入了,就会自动配置。

首先打开一个基本的springboot项目,点进去@SpringBootApplication注解。

实际上,自动精简配置的工作原理与部分储备金体系的原理相似,银行无需一次支付所有的储备金,因此也没有人一次动用所有的存储资源。

SpringBoot是Spring的包装,通过自动配置使得SpringBoot可以做到开箱即用,上手成本非常低,但是学习其实现原理的成本大大增加,需要先了解熟悉Spring原理。

SpringBoot运行原理

1、springboot-boot-starter-xxx:spring-boot的场景启动器 spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件。

2、配置 spring.factories ,通过该配置,才能让springboot来自动加载我们的Configuration类。具体原理我们稍后深入了解。具体的,是在模块的 resources/META-INF 目录下,新建 spring.factories 文件。

3、springboot帮我们做的两件事,一个是通过starter引入我们需要的框架,starter负责引入自己的依赖;另一个是通过autoconfigure生效一些默认的配置,简化我们的使用,这一步是通过spring.factories中定义的配置类实现的。

4、首先打开一个基本的springboot项目,点进去@SpringBootApplication注解。

5、Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

6、同时,我试了下,直接运行application类的话,是找不到主类的:因为在文件目录中,JarlearnApplication实际上是在META-INF/maven/... 中的,所以会找不到。

SpringBoot自动配置的原理及实现/SpringBoot之@Import注解正确使用...

了解SpringBoot之@Import注解正确使用方式 SpringBoot 的核心就是自动配置,自动配置又是基于条件判断来配置 Bean。

@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。

SpringBoot启动的时候加载主配置类,开启了自动配置功能@EnableAutoConfiguration。请点击输入图片描述 EnableAutoConfiguration的作用是利用AutoConfigurationImportSelector给容器中导入一些组件。

SpringBoot的自动装配是指:SpringBoot会自动将一些配置类的bean注册到ioc容器,我们可以在需要的地方使用@Autowired或@Resource等注解来使用它。

springboot自动化配置的原理?  第1张

以上内容为新媒号(sinv.com.cn)为大家提供!新媒号,坚持更新大家所需的互联网后端知识。希望您喜欢!

版权申明:新媒号所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 k2#88.com(替换@) 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023-09-23 14:36
下一篇 2023-09-23 14:36

相关推荐

发表回复

登录后才能评论