我们知道从applicationContext容器对象中如何获取Bean了,其实spring框架还有另外一种获取bean的方法:BeanFactory代码如下: BeanFactory factory = new XmlBeanFactory(new ClassPathResource("com/hsp/ioc/beans.xml")); 类1 对象1 =(类1)factory.getBean("类1"); 那么,两者之间有啥区别呢? applicationCont…
//从ApplicationContext 中取 bean ApplicationContext ac = new ClassPathXmlApplicationContext ( "com/hsp/beans.xml" ) ; ac.getBean("beanId"); 当我们去实例化beans.xml,该文件中配置的 bean 就被实例化(不论你用还是不用,bean对象都在那),而且该对象是singleton单例的.(每个bean都有scope属性,可以人为的设…
//从ApplicationContext 中取 bean ApplicationContext ac = new ClassPathXmlApplicationContext ( "com/hsp/beans.xml" ) ; ac.getBean("beanId"); 当我们去实例化beans.xml,该文件中配置的 bean 就被实例化(不论你用还是不用,bean对象都在那),而且该对象是singleton单例的.(每个bean都有scope属性,可以人为的设…
一.BeanFactory 和ApplicationContext Bean 工厂(com.springframework.beans.factory.BeanFactory)是Spring 框架最核心的接口,它提供了高级IoC 的配置机制.应用上下文(com.springframework.context.ApplicationContext)建立在BeanFactory 基础之上.几乎所有的应用场合我们都直接使用ApplicationContext 而非底层的BeanFactory. 1.1…
BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP功能.Web应用等.   ApplicationContext接口,它由BeanFactory接口派生而来,因而提供BeanFactory所有的功能.ApplicationContext以一种更向面向框架的方式工作以及对上下文进行分层和实现继承,ApplicationContext包还提供了以下的功…
BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP功能.Web应用等.   ApplicationContext接口,它由BeanFactory接口派生而来,因而提供BeanFactory所有的功能.ApplicationContext以一种更向面向框架的方式工作以及对上下文进行分层和实现继承,ApplicationContext包还提供了以下的功…
版本:spring-framework-4.1 一概述 BeanFactory 与 FactoryBean的区别, 两个名字很像,面试中也经常遇到,所以容易搞混,现从源码以及示例两方面来分析. 二.源码 2.1 BeanFactory BeanFactory定义了 IOC 容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是 Spring IOC 所遵守的最底层和最基本的编程规范. BeanFactory仅是个接口,并不是IOC容器的具体实现,具体的实现有:如 DefaultL…
BeanFactory类关系继承图 1. BeanFactory类结构体系: BeanFactory接口及其子类定义了Spring IoC容器体系结构,由于BeanFactory体系非常的庞大和复杂,因此要理解Spring IoC,需要先理清BeanFactory的继承机构. 2. ApplicationContext的结构体系: ApplicationContext接口是一个BeanFactory基础上封装了更多功能的,Spring中最为常用的IoC容器,其包含两个子接口:Configurab…
传送门 可以加载XML两种方法 使用 BeanFactory 加载 XML BeanFactory bf = new XmlBeanFactory(new ClassPathResource("applicaitonContext.xml")); Ps:因为我是跟着<Spring源码深度解析>学习的,而这本书出版在13年9月,这一种方法在新的Spring版本中已经废弃掉了,取而代之的是下面的方法;但既然学了,那就还是记录一下,学习一下开发者的思想也是不错的. 使用 Appl…
转自:http://blog.csdn.net/intlgj/article/details/5660587 在spring中,两个最基本最重要的包是 org.springframework.beans 和 org.springframework.context. 这两个包中的代码为Spring的反向控制 特性(也叫作依赖注射)提供了基础. 第一, BeanFactory BeanFactory实际上是实例化,配置和管理众多bean的容器. 这些bean通常会彼此合作,因而它们之间会产生依赖.…