2017-02-14 71 views
1

我有兩個套餐A和B包B.中的類X我需要A.使用X的實例實例化一個Java Spring Bean與在XML參數

趕上這裏包B包含的Java Bean spring配置,而A使用XML。

下面是包B的AppConfig的外觀。

@Configuration 
public class PackageBJavaBeans { 

@Bean 
public X getX(final String paramOne, final String paramTwo) { 
    String value = doSomeProcessingWithParameters(paramOne, paramTwo); 
    return new X(value); 
} 

private String getXValue(final String paramOne, final String paramTwo){ 
    final String value = //do-some-calculation 
    return value; 
} 

} 

我需要使用XML在包「A」中創建類X的bean。如何通過包A中的XML傳遞參數?

謝謝。

回答

0

我認爲這是你要求的。

<?xml version="1.0" encoding="UTF-8"?> 

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 

    <!-- Definition for X bean --> 
    <bean id="X" class="A.X"> 
     <constructor-arg value="The value this bean holds"/> 
    </bean> 

</beans> 

我對你到底想要什麼感到困惑。你是否還希望我們使用提供的函數在創建X之前將兩個字符串連接在一起?這可以使用工廠方法。讓我知道你是否想要一個工廠方法bean的例子。

+0

我想問一下,如果沒有Factory bean,這是否可能。提供的方法實際上比我的用例中的連接要多得多。我只是想保持簡單的例子。 – Dwarak