对Spring IOC容器相关整理(一)

1.IOC 控制反转(Inversion of Control)

控制反转是一种设计原则,用来降低代码之间的耦合性。其中最常见的方式叫做依赖注入(DI)通过控制反转,对象在被创建的时候,系统内所有对象将通过配置文件(XML,JavaCode,注解等...)配置的依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。

容器(Container)容器的作用就是生成(生命周期开始时)、存放bean的实例并控制每个bean实例的生命周期 ,在适当的时候销毁bean实例(生命周期结束时)。。(单例()、原型()生命周期是Spring ApplicationContext  //todo )

IoC模式中,系统通过引入实现了IoC模式的IoC容器,即可由IoC容器来管理对象的生命周期、依赖关系等,从而使得应用程序的配置和依赖性规范与实际的应用程序代码分离。其中一个特点就是通过文本的配置文件进行应用程序组件间相互关系的配置,而不用重新修改并编译具体的代码。

可以把IoC模式看作工厂模式的升华,把IoC容器看作是一个大工厂,只不过这个大工厂里要生成的对象都是在配置文件(XML,JavaCode,注解等...)中给出定义的。利用Java 的“反射”编程,根据配置文件(XML,JavaCode,注解等...)中给出的类定义生成相应的对象。从实现来看,以前在工厂模式里写死了的对象,IoC模式改为配置文件(XML,JavaCode,注解等...),这就把工厂和要生成的对象两者隔离,极大提高了灵活性和可维护性

1.1、BeanFactory

org.springframework.beans org.springframework.context 包是Spring 框架IOC容器的基础。BeanFactory 接口提供了一种高级配置机制,能够管理任何类型的对象。ApplicationContext BeanFactory的子接口。

BeanFacotry是spring中比较原始的Factory。如XMLBeanFactory就是一种典型的BeanFactory。原始的BeanFactory无法支持spring的许多插件,如AOP功能、Web应用等。 
ApplicationContext接口,它由BeanFactory接口派生而来,ApplicationContext包含BeanFactory的所有功能,通常建议优先使用ApplicationContext

 

 

1 Resource resource = new FileSystemResource("beans.xml"); 2 BeanFactory factory = new XmlBeanFactory(resource);

 

1 ClassPathResource resource = new ClassPathResource("beans.xml"); 2 BeanFactory factory = new XmlBeanFactory(resource);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygxpg.html