首页 > 其他分享 >IOC简单理解

IOC简单理解

时间:2024-02-25 14:45:24浏览次数:17  
标签:实例 bean value Bean 理解 简单 IOC BeanDefinition

IOC

refreshBeanFactory()

0、实例化IOC容器(就是一个Map<String, BeanDefinition>)

1、资源加载器加载解析配置文件

  • 资源加载器接口ResourceLoader

  • 资源的抽象和访问接口Resource

    • FileSystemResource,文件系统资源的实现类
    • ClassPathResource,classpath下资源的实现类
    • UrlResource,对java.net.URL进行资源定位的实现类

2、解析配置文件,获得声明式的类的信息(bean定义信息)

4、类的信息注册为BeanDefinition

invokeBeanFactoryPostProcessors(beanFactory)

5、提供接口修改BeanDefinition

  • BeanFactoryPostProcessor

registerBeanPostProcessors(beanFactory)

6、注册BeanPostProcessors

7、实例化Bean

  • 实例化策略:构造函数实例化Bean;CGLIB动态生成子类实例化Bean

8、通过反射进行属性填充

  • PropertyValue(String name, Object value)
    • value为字符串,直接为bean的属性赋值
    • name不存在,则为bean添加新的属性和值
    • 存在ref,value为BeanReference,进行依赖注入

9、初始化Bean

  • 执行BeanPostProcessor的前置处理方法
  • 执行Bean的初始化方法
  • 执行BeanPostProcessor的后置处理方法

10、注册含销毁方法的Bean

11、Bean添加单例池

Spring中BeanDefinition都是在为Bean做嫁衣

标签:实例,bean,value,Bean,理解,简单,IOC,BeanDefinition
From: https://www.cnblogs.com/jishaling/p/18032402

相关文章

  • 通俗理解微服务
    微服务是什么?-阮一峰的网络日志(ruanyifeng.com)......
  • 10.Feign组件在NET中的简单使用
    安装包:SummerBootFeign是一种声明式服务调用组件,我们只需要声明一个接口并通过注解进行简单的配置(类似于Dao接口上面的Mapper注解一样)即可实现对HTTP接口的绑定。通过Feign,我们可以像调用本地方法一样来调用远程服务,而完全感觉不到这是在进行远程调用。Feign底层基于h......
  • 函数探秘:深入理解C语言函数,实现高效模块化编程
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • volatile及内存屏障理解总结
    volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些未知的因素更改。volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存......
  • C++ 拷贝构造函数简单测试
    浅拷贝静态数组的空间体现深拷贝的效果#include<iostream>#include<string>usingnamespacestd;#defineSEX_SIZE10classStudent{public:Student(stringname){Age=10;Name=newstring(name);strcpy(Sex,"男");......
  • 循环掌控:深入理解C语言循环结构,高效实现重复性任务
    ✨✨欢迎大家来到贝蒂大讲堂✨✨......
  • 如何理解:人工智能才是真正的新能源
    今天看到这段话:你以为的新能源:电力驱动真正的新能源:人工智能​​​SamAltman在英特尔的活动上也提到了这一点,如果非要类比,把现在当做交流直流大战的阶段是个恰当的比喻。在电力技术初期,人们对于电力的本质、产生方式以及它如何转化和利用其他自然资源有很多探索和质疑......
  • 如何理解:人工智能才是真正的新能源
    今天看到这段话:你以为的新能源:电力驱动真正的新能源:人工智能​​​SamAltman在英特尔的活动上也提到了这一点,如果非要类比,把现在当做交流直流大战的阶段是个恰当的比喻。在电力技术初期,人们对于电力的本质、产生方式以及它如何转化和利用其他自然资源有很多探索和质疑......
  • 如何理解:人工智能才是真正的新能源
    今天看到这段话:你以为的新能源:电力驱动真正的新能源:人工智能​​​SamAltman在英特尔的活动上也提到了这一点,如果非要类比,把现在当做交流直流大战的阶段是个恰当的比喻。在电力技术初期,人们对于电力的本质、产生方式以及它如何转化和利用其他自然资源有很多探索和质疑......
  • 通俗理解'网络基础'
    网络基础好文地址:-https://www.cnblogs.com/flashsun/p/14266148.html集线器:无脑转发所有的数据包(物理层)数据包-源Mac:xxx-目标Mac:yyy-数据包:zzz交换机:高级版'集线器',不再无脑转发,从一个电脑发包到另外一个电脑(数据链路层)-交换机内部维护着......