【发布时间】:2015-06-19 18:15:42
【问题描述】:
我有一个类,我希望该类型的所有对象都属于请求范围。在我的 Spring XML 中,我正在创建此类对象的列表。必须为这些bean中的每一个设置范围和代理模式是非常繁琐且容易出错的,那么有没有办法让所有这种类型的bean请求自动范围?
我尝试用@Scope(value = WebApplicationContext.SCOPE_REQUEST, proxyMode = ScopedProxyMode.TARGET_CLASS) 注释类,但它似乎不起作用。通过 XML 创建 bean 时可能会忽略注释?
这是我目前在 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 类型的每个 bean 并让它们自动被请求范围。
【问题讨论】:
-
您可以使用
abstractbean,但您仍然必须在XML 中为每个bean指定它。
标签: java spring spring-mvc