一、Bean种类
- 普通bean:之前操作的都是普通bean。<bean id="" class="A"> ,spring直接创建A实例,并返回
- FactoryBean:是一个特殊的bean,具有工厂生成对象能力,只能生成特定的对象。
bean必须使用 FactoryBean接口,此接口提供方法 getObject() 用于获得特定bean。
<bean id="" class="FB"> 先创建FB实例,使用调用getObject()方法,并返回方法的返回值
FB fb = new FB();
return fb.getObject();
BeanFactory 和 FactoryBean 对比?
BeanFactory:工厂,用于生成任意bean。
FactoryBean:特殊bean,用于生成另一个特定的bean。例如:ProxyFactoryBean ,此工厂bean用于生产代理。
<bean id="" class="....ProxyFactoryBean"> 获得代理对象实例。AOP使用
二、作用域
作用域:用于确定spring创建bean实例个数
- 取值:
singleton 单例,默认值。
prototype 多例,每执行一次getBean将获得一个实例。例如:struts整合spring,配置action多例。
2.配置信息:
<bean id="" class="" scope=""> |
<bean id="userServiceId" class="com.itheima.d_scope.UserServiceImpl" scope="prototype" ></bean> |