Spring 以bean 管理所有的组件。
Spring上下文是产生bean 的工厂,用工厂来创建bean 的实例。。(即内部使用了工厂模式) 你无须自己写工厂类,spring帮你完成。Spring用BeanFactory接口。
org.springframework.context.ApplicationContext是其子接口,该接口更强的功能,也称为spring上下文。
其常用实现类org.springframework.context.support.FileSystemXmlApplicationContext。
//如下是产生的一个实例化的spring容器,即一个工厂实例对象ctx。
ApplicationContext ctx = new FileSystemXmlApplicationContext("src/applicationContext.xml");
//如下用ctx根据bean的id属性来获得bean实例。
ctx.getBean(String id);
 
spring产生bean 实例时,需要知道每个bean 的实现类在哪,和其各bean 类间的关系。这全部在applicationContext.xml配置文件下就行配置。。
 
这个配置文件有其固定格式。根元素是<beans></beans>
其下每个<bean>子元素中定义一个bean.定义bean 时有两个属性,id 和 class
 
有三种实例化bean 的方式
(1)调用构造器“new”一个bean实例
(2)BeanFactory调用某个类的静态工厂方法创建bean.
(3)BeanFactory调用实例工厂方法创建bean.
 
spring默认为使用为singleton单态行为,即容器中只有一个共享实例存在。使用这种方式是由系统管理其生命周期。
可以手动配置为non-singleton行为。可以新建bean,由程序自己管理其生命周期,开销较大。
spring2.0中:使用 scope="singleton/"prototype" 代替singleton="true/false"