2017-02-14 65 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