У меня есть класс, и я хочу, чтобы все объекты этого типа были запрошены. В моем Spring XML я создаю список таких объектов. Очень утомительно и подвержено ошибкам устанавливать режим видимости и прокси для каждого из этих компонентов, так что есть способ сделать все бобы этого типа запрошенными автоматически?Сделать все весенние бобы определенного типа запроса областью
Я пробовал аннотировать класс с помощью @Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS)
, но он, похоже, не работал. Может быть, аннотация игнорируется, когда компонент создается через XML?
Вот то, что я до сих пор в XML:
<util:list>
<bean class="com.test.MyClass" scope="request">
<aop:scoped-proxy/>
<constructor-arg>
<bean value="Hello"/>
</constructor-arg>
</bean>
<bean class="com.test.MyClass" scope="request">
<aop:scoped-proxy/>
<constructor-arg>
<bean value="Friend"/>
</constructor-arg>
</bean>
</util:list>
И мой класс:
public class MyClass {
private String value;
public MyClass() { /* Default constructor */ }
public MyClass(String value) {
this.value = value;
}
В принципе мне интересно, если есть способ, я могу избежать того, чтобы добавить scope="request"
и <aop:scoped-proxy/>
в каждый бит типа MyClass и автоматически запрашивайте их.
Вы можете использовать «абстрактный» компонент, но вам все равно придется указывать его в XML для каждого 'bean'. –