使用XML中的参数实例化Java Spring Bean

时间:2017-02-14 20:27:25

标签: java xml spring spring-mvc

我有两个包A和B,在包B中有一个类X.我需要在A中使用一个X的实例。

Catch这里包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传递参数?

感谢。

1 个答案:

答案 0 :(得分:1)

我认为这就是你所要求的。

<?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的示例,请告诉我。