Spring中Bean的種類及作用域
阿新 • • 發佈:2019-02-11
一、Bean的種類
1、普通bean:<bean id="" class="A"> ,spring直接建立A例項,並返回。
2、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多例。
配置資訊:
<bean id="" class="" scope="">
例如:
<bean id="userServiceId" class="com.zju.scope.UserServiceImpl" scope="prototype"></bean>