Spring Framework的核心 - IOC容器的实现 -BeanFactoreny和ApplicationContext

1. 概述

Spring IOC容器设计中,有两个主要的容器系列,一个是实现BeanFactoreny接口的简单容器,他定义了IOC容器的基本功能规范;一个是ApplicationContext应用上下文,他作为容器的高级形态而存在,增加了许多面向框架的特性;除此之外还有其他许多IOC容器;

既然有了容器,自然也要有容器中的核心数据,在Spring提供的基本IOC容器接口的定义和实现的基础上,Spring定义了BeanDefinition来抽象对于Bean的定义,也就是容器实现依赖反转的核心数据结构

在这里插入图片描述
BeanFactory -> HierarchicalBeanFactory -> ConfigurableBeanFactory
这是一个条主要的设计路径。 BeanFactory中定义了基本的IOC容器规范,在HierarchicalBeanFactory接口中增加了getparantBeanFactory()的接口功能,使BeanFactory具备了双亲IOC容器的管理功能,在ConfigurableBeanFactory主要定义了一些对BeanFactory的配置功能

BeanFaactory -> ListableBeanFactory -> ApplicationContext -> WebApplicationCotext / ConfigurableApplicationContxt
BeanFactory简单接口的基础上增加了对高级容器的特性支持

2. BeanFactory

BeanFactory接口定义了基本的IOC容器规范,XmlBeanFactoryAppicationContext等都是容器某种功能的具体实现

public interface BeanFactory {
            
     //对FactoryBean的转义定义,因为如果使用bean的名字检索FactoryBean得到的对象是工厂生成的对象,    
     //如果需要得到工厂本身,需要转义           
     String FACTORY_BEAN_PREFIX = "&"; 
        
     //根据bean的名字,获取在IOC容器中得到bean实例    
     Object getBean(String name) throws BeansException;    
   
    //根据bean的名字和Class类型来得到bean实例,增加了类型安全验证机制。    
     Object getBean
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值