spring--IOC容器

来源:互联网 发布:南京软件科技大学 筹 编辑:程序博客网 时间:2024/06/06 10:38

IOC:Inversion of Control,即控制反转:本来是由应用程序控制对象之间的依赖关系,现在交给了容器管理(spring IOC容器),而spring IOC容器通过DI(即依赖注入)的方式来实现管理和控制这些依赖关系。

应用程序控制对象之间的依赖关系时,要用一个对象,要先创建一个实例,即new 一个对象,而IOC容器控制这些依赖关系时,不需要直接在代码中与对象连接,而是在配置文件中描述要使用的对象,容器负责键这些对象联系起来。

在spring中,最基本的IOC容器接口为BeanFactory,这个接口为具体的IOC容器的实现做了最基本的功能规定:

public class BeanFactory{
//对FactoryBean的转义定义,因为如果使用bean的名字检索FactoryBean得到的对象是工厂生成的对象
//如果需要得到工厂本身,需要转义
String FACTORY_BEAN_PREFIX = “&”;

//根据bean的名字,在IOC容器里得到bean实例
Object getBean(String name)throws BeansException;

//根据bean的名字和CLass类型来得到bean实例
Object getBean(String name,Class requredType)throws BeansException;

//对bean的检索,检索IOC容器中是否有此名字的BEAN
boolean containsBean(String name);

//根据bean名字获取实例,并判断是否是单例
boolean isSingleton(String name)throws NoSuchBeanDefinitionException;

//根据bean名字获取bean实例的CLASS类型
Class getType(String name) throws NoSuchBeanDefinitionException;

//根据bean名字获取bean别名
String[] getAliases(String name);
}

在BeanFactory里只是对IOC容器的基本行为做了定义,具体要看其实现,另外IOC容器实现对依赖对象管理是通过依赖注入DI实现的。

0 0
原创粉丝点击