spring的IoC原理

本文介绍了Spring的IoC原理,包括IoC的概念、BeanDefinitionRegistry和BeanFactory的角色、ApplicationContext的功能以及Spring容器的启动流程。重点阐述了BeanDefinition如何转化为Bean并由BeanFactory管理,以及ApplicationContext在配置、bean实例化和事件发布等方面的作用。
摘要由CSDN通过智能技术生成

1.IoC简介

IoC:控制反转,即把对象交由spring容器进行统一的管理,不需要再手动的new,不仅降低了代码的耦合性,而且提高了程序的易扩展性和健壮性。

2.spring IoC容器初始化原理

2.1 BeanDefinitionRegistry和BeanFactory

spring的初始化过程可以简化为,获取资源定位,载入资源,解析资源(例如xml声明的bean和注解声明的),由相应的BeanDefinitionReader转换成一个个beanDefinition,
然后再有工厂创建和统一管理。BeanDefinitionRegistry负责将bean注册,BeanFactory负责bean的管理。DefaultListableBeanFactory则同时直接和间接实现了上述2个接口,DefaultListableBeanFactory是spring 框架中比较通用的一个BeanFactory。
在这里插入图片描述

spring对beanFactory接口下提供几个扩展的子接口
ListableBeanFactory:提供了列举所有bean和bean的类型
HierarchicalBeanFactory:提供了层级的beanFactory,拥有一个获取父类beanFactory的工厂。
AutowireCapableBeanFactory:为已经实例化的对象装配属性,这些属性对象都是Spring管理的。实例化一个类型,并自动装配,这些属性对象都是Spring管理的

2.2 ApplicationContext 简介

ApplicationContext是spring容器核心的容器接口,包含了运行环境的配置,bean实例的获取,spring bean注册资源的定位和装载,事件的发布,国际化信息的接口。
在这里插入图片描述

3.spring 启动流程简介。

我们这里以ClassPathXmlApplicationContext的spring容器初始化,来对ioc容器做个简单的讲解。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值