2016-11-21 110 views
1

說我有下面的類實例化返回類型的物業形態的方法

public class AbcFactory{ 

    @Autowired 
    private Builder1 builder1; 

    @Autowired 
     private Builder2 builder2; 

    public Builder<Employee > getBuilder(Employee employee) { 

     if (employee.isMale(employee)) { 
      return builder1; 
     } else { 
      return builder2; 
     } 
    } 

如何從AbcFactory.getBuilder()的返回類型爲一個屬性到另一個bean ID。

東西我想是這樣的

<property name="builder"> 
      ????? 
      </property> 

回答

0

你不是混淆靜態配置(launchtime)與動態行爲(運行)。春天不能根據尚未發生的電話進行設置。 或者「員工」本身就是一個bean?在這種情況下請參閱JavaConfig。

1

嘗試,

<bean id="emp" class="com.pack.Employee"/> 


<bean id="factory" class="com.pack.AbcFactory"> 

</bean> 

<bean id="result" class="com.pack.Builder" 
     factory-bean="factory" factory-method="getBuilder"> 
    <constructor-arg ref="emp"/> 
</bean>