Spring的控制反转(IoC)和依赖注入(DI)
2014-09-19 11:14
831 查看
一、IoC----Spring容器根据配置文件信息,负责创建JavaBean(PO)实例,并为实例设置属性值-这种由Spring容器为对象设置属性的方式被称为控制反转(Inversion of Control,IoC)。(实例属性值并不是程序主动设置的,而是由Spring容器来负责注入的).
根据配置文件来创建Bean实例,并调用Bean实例的方法完成“依赖注入”---这就是所谓Ioc的本质
不管是依赖注入还是控制反转,其意义完全相同:当某个java实例(调用者)需要另一个java实例(被调用者)时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。
在依赖注入的模式下,创建被调用者的工作不再由调用者来完成而是通常由Spring容器来完成。因此称为控制反转;
创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。
二、实例化BeanFactory
①//搜索类加载路径,以类加载路径下的bean.xml文件创建Resource对象
ClassPathResoure res = new ClassPathResource("bean.xml");;
//以Resource对象为参数,创建BeanFactory实例
XmlBeanFactory factory = new XmlBeanFactory(res);
②//搜索当前文件路径下的bean.xml文件创建Resource对象
InputStreamResource isr = new FileSystemResource("bean.xml");
//以Resource对象为参数,创建BeanFactory实例
XmlBeanFactory factory = new XmlBeanFactory(isr);
二、创建AppliactionContext实例的方法
1、AppliactionContext ctx = new ClassPathXmlAppliactionContext("bean.xml");
//获取XX实例
XX xx = ctx.getbean("XX",XX.calss);
Spring容器最基本的接口就是BeanFactory。BeanFactory负责配置、创建、管理Bean,它有一个子接口:ApplictionContext,因此也被称为Spring的上下文。Spring容器还负责管理Bean和Bean之间的依赖关系。
BeanFactory接口包含如下几个基本方法。
boolean containsBean(String name):判断Spring容器是否包含id为name的Bean实力
Object getBean(String name):返回容器id为name的Bean实力
<T> t getBean(Class<t> requriredType):获取Spring容器中属于requriredType类型的、唯一的Bean实例
<T> t getBean(Class<t>,Class requriredType):返回容器中id为name,并且类型为requriredType的Bean实例
Class<?> getType(String name):返回容器中指定Bean实例的类型
根据配置文件来创建Bean实例,并调用Bean实例的方法完成“依赖注入”---这就是所谓Ioc的本质
不管是依赖注入还是控制反转,其意义完全相同:当某个java实例(调用者)需要另一个java实例(被调用者)时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。
在依赖注入的模式下,创建被调用者的工作不再由调用者来完成而是通常由Spring容器来完成。因此称为控制反转;
创建被调用者实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。
二、实例化BeanFactory
①//搜索类加载路径,以类加载路径下的bean.xml文件创建Resource对象
ClassPathResoure res = new ClassPathResource("bean.xml");;
//以Resource对象为参数,创建BeanFactory实例
XmlBeanFactory factory = new XmlBeanFactory(res);
②//搜索当前文件路径下的bean.xml文件创建Resource对象
InputStreamResource isr = new FileSystemResource("bean.xml");
//以Resource对象为参数,创建BeanFactory实例
XmlBeanFactory factory = new XmlBeanFactory(isr);
二、创建AppliactionContext实例的方法
1、AppliactionContext ctx = new ClassPathXmlAppliactionContext("bean.xml");
//获取XX实例
XX xx = ctx.getbean("XX",XX.calss);
Spring容器最基本的接口就是BeanFactory。BeanFactory负责配置、创建、管理Bean,它有一个子接口:ApplictionContext,因此也被称为Spring的上下文。Spring容器还负责管理Bean和Bean之间的依赖关系。
BeanFactory接口包含如下几个基本方法。
boolean containsBean(String name):判断Spring容器是否包含id为name的Bean实力
Object getBean(String name):返回容器id为name的Bean实力
<T> t getBean(Class<t> requriredType):获取Spring容器中属于requriredType类型的、唯一的Bean实例
<T> t getBean(Class<t>,Class requriredType):返回容器中id为name,并且类型为requriredType的Bean实例
Class<?> getType(String name):返回容器中指定Bean实例的类型
相关文章推荐
- Spring.net 控制反转(IOC)依赖注入(DI)的使用 以及Config文件的配置
- Spring的控制反转(IOC)和依赖注入(DI)详解
- 重温Spring之旅1——控制反转IOC与依赖注入DI
- Spring学习(1):控制反转(IoC)和依赖注入(DI)的详解以及注解(annotation)开发入门案例
- 【JavaWeb-23】spring、IoC控制反转和DI依赖注入入门、基于XML的Bean装配、基于注解的Bean装配
- 利用反射简单模拟Spring的控制反转(Ioc)和依赖注入(DI)
- 如何理解Spring的控制反转IOC和依赖注入DI思想
- Spring容器的控制反转(IOC)和依赖注入(DI)
- Spring控制反转IOC和依赖注入DI实例
- Spring的控制反转(IOC)和依赖注入(DI)具体解释
- Spring控制反转(IOC)和依赖注入(DI),再记不住就去出家!
- 金现代实习,马士兵Spring视频-控制反转(IOC)与依赖注入(DI)
- 谈谈对Spring 控制反转(IOC)及依赖注入(DI)的理解
- Spring环境搭建之:控制反转(IoC Inversion of Control)与依赖注入(DI Depenency Injection)
- Spring.Net-DI依赖注入和Ioc控制反转
- Spring反转控制(IOC)和依赖注入(DI)
- Spring环境搭建之:控制反转(IoC Inversion of Control)与依赖注入(DI Depenency Injection)
- Spring控制反转与依赖注入(IOC、DI)
- Spring学习(三)IOC控制反转与DI依赖注入
- Spring学习,依赖注入(DI)、控制反转(IoC)和面向切面(AOP)