第一種方式:使用預設無參構造函數
-在預設情況下: 它會根據預設無參構造函數來建立類對象。如果 bean 中沒有預設無參構造函數,将會建立失敗。
第二種方式:spring管理靜态工廠-使用靜态工廠的方法建立對象
模拟一個靜态工廠,建立業務層實作類
public class StaticFactory {
public static IAccountService createAccountService(){
return new AccountServiceImpl();
}
}
<bean id="accountService"
class="com.itheima.factory.StaticFactory" factory-method="createAccountService"></bean>
第三種方式:spring管理執行個體工廠-使用執行個體工廠的方法建立對象
模拟一個執行個體工廠,建立業務層實作類 * 此工廠建立對象,必須現有工廠執行個體對象,再調用方法
此種方式是: 先把工廠的建立交給 spring 來管理。 然後在使用工廠的 bean 來調用裡面的方法 factory-bean 屬性:用于指定執行個體工廠 bean 的 id。 factory-method 屬性:用于指定執行個體工廠中建立對象的方法。
public class InstanceFactory {
public IAccountService createAccountService(){
return new AccountServiceImpl();
}
}
<bean id="instancFactory" class="com.itheima.factory.InstanceFactory">
</bean>
<bean id="accountService" factory-bean="instancFactory" factory-method="createAccountService"></bean>