2017-02-14 1 views
1

у меня есть два пакета A и B с классом X в пакете B. Мне нужно использовать экземпляр из X в А.инстанцировании Java Spring Bean с параметрами в XML

Поймайте здесь пакет B содержит Java Конфигурация bean spring, в то время как A использует XML.

Вот как выглядит AppConfig в упаковке B.

@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; 
} 

} 

Мне нужно создать компонент класса X в пакете «A» с XML. Как передать параметры через XML из пакета A?

Спасибо.

ответ

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? Это возможно с использованием заводского метода. Сообщите мне, хотите ли вы пример фабричного метода.

+0

Я хотел спросить, возможно ли это без фасоли. Предоставленный метод на самом деле делает гораздо больше, чем конкатенация в моем случае использования. Я просто хотел, чтобы этот пример был простым. – Dwarak

Смежные вопросы