Вы ищете метод поиска функциональность в Spring.Идея состоит в том, что вы предоставляете абстрактный метод, подобный этому:
@Component
public abstract class Test {
public abstract DataBean getBean();
}
и говорите Spring, что он должен реализовать его во время выполнения:
<bean id="test" class="com.test.Test">
<lookup-method name="getBean" bean="dataBean"/>
</bean>
Теперь каждый раз, когда вы вызываете Test.getBean
, вына самом деле вызовет Spring-сгенерированный метод.Этот метод запросит ApplicationContext
экземпляр DataBean
.Если этот бин prototype
-области, вы будете получать новый экземпляр каждый раз, когда вы вызываете его.
Я писал об этой функции здесь .