Я в настоящее время преобразовываю конфигурацию Spring Spring в Java аннотации, и я столкнулся с немного раздражающей ситуацией.Метод уничтожения объектов Spring register
Мне нужно создать 3 боба, которые используют один и тот же класс внутри, но должны быть отдельными экземплярами. Тем не менее, эти внутренние компоненты должны регистрировать свой метод выключения с помощью Spring.
Я не могу думать, как это сделать, не создавая 9 фасоль в Java (это хорошо, но, кажется, немного не так, чтобы быть загрязняя класс, как это)
В XML конфиг это выглядит как это:
<bean class="outer1">
<constructor-arg>
<bean class="middle">
<constructor-arg>
<bean class="inner" />
</constructor-arg>
</bean>
</constructor-arg>
</bean>
<bean class="outer2">
<constructor-arg>
<bean class="middle">
<constructor-arg>
<bean class="inner" />
</constructor-arg>
</bean>
</constructor-arg>
</bean>
<bean class="outer3">
<constructor-arg>
<bean class="middle">
<constructor-arg>
<bean class="inner" />
</constructor-arg>
</bean>
</constructor-arg>
</bean>
Вы действительно хотите, чтобы 'middle' и' inner' были beans? Если вы не просто создаете их в методе 'getXXX' – talex
Почему бы просто не вызвать метод« закрытия »внутренней фасоли на зарегистрированном методе уничтожения наружных бобов? –
Возможное решение здесь http://shekhargulati.com/2010/10/30/spring-scoped-proxy-beans-an-alternative-to-method-injection/ –