天天看點

執行個體化 Bean 的三種方式

第一種方式:使用預設無參構造函數

-在預設情況下: 它會根據預設無參構造函數來建立類對象。如果 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>