• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Spring学习

武飞扬头像
云淡风轻学Java
帮助2

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
系列文章
更多 icon
同类精品
更多 icon
继续加载