У меня есть singleton bean, который необходим для каждого вызова функции, чтобы вернуть ссылку на другой (новый) прототип bean. Единственный способ, который я могу придумать, - это программно получить новый экземпляр bean из BeanFactory/ApplicatioContext, вызвав его метод getBean(). Образец кода будет следовать за...
Есть ли лучший способ сделать это? Надеюсь, только через конфигурацию? (Лично я сомневаюсь, что есть...)
<bean id="protoBean" scope="prototype"
class="com.blahblah.ProtoBean" />
<bean id="singletonBean"
class="com.blahblah.SingletonBean" />
public class ProtoBean {
....
}
public class SingletonBean {
private BeanFactory factory;
public ProtoBean dispense() {
return (ProtoBean) factory.getBean("protoBean");
}
....
}