Spring学习
1.Spring的特点:
Srping是一个轻量级的IOC和AOP容器框架,目前应用于简化企业开发。
2.Spring容器的启动流程:
(1)初始化Spring容器,注册内置的BeanPostProcessor的BeanDefinition到容器中:
a.实例化BeanFactory工厂,用于生成Bean对象。
b.实例化BeanDefinititonReader注解配置读取器,用于对特定注解(如@Service、@Repository)的类进行读取转化成BeanDefinition对象。
c.实例化ClassPathBeanDefinitonScanner路径扫描器,用于对指定的包目录进行扫描查找Bean对象。
(2)将配置类的BeanDefinition注册到容器中。
(3)调用reffesh()方法刷新容器
3.Spring的自动装配
1.Spring自动装配是什么?解决了什么问题?
自动装配就是让应用程序上下文为你找出依赖项的过程。说的通俗一点,就是Spring会在上下文中自动查找,并自动给bean装配与其无关联的属性!
spring中实现自动装配的方式有两种,一种是通过xml文件、另一种是通过注解。
Spring自动装配解决了Spring时代项目配置繁琐的问题,简化配置。
2.自动装配实现原理:
1.当启动Springboot应用程序的时候,会先创建SpringApplication对象,在对象的构造方法中会进行某些初始化工作,最主要的是判断当前应用程序的类型以及初始化器和监听器,在这个过程中会加载整个应用程序中的Spring.factories文件,将文件内容放到缓存对象中,方便后续获取。
2.SpringApplication对象创建完成之后,开始执行run方法,来完成整个启动,启动过程中最主要的有两个方法,第一个叫做prepareContext,第二个叫做refreshContext,在这两个关键步骤中完成了自动装配的核心功能,前面的处理逻辑包含了上下文对象的创建,banner的打印,异常报告期的准备工作,方便后续进行调用。
3.在prepareContex方法中主要完成的是对上下文对象的初始化操作,包括了属性值的设置,比如环境对象,在整个过程中有一个非常重要的方法,叫做load,load主要完成一件事,将当前启动类做为一个beanDefinition注册到registry中,方便后续进行BeanFactoryPostProcessor调用执行的时候,找到对应的主类,来完成@SpringBootApplication,@EnableAutoConfiguration等注解的解析工作。
4.在refreshContext方法中会进行整个容器的刷新过程,会调用Spring中的refresh方法,refresh中有13个非常关键的方法,来完成整个Spring应用程序的启动,在自动装配过程中,会调用invokeBeanFatoryProcessor方法。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiaeacc
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22