我有一个类,我希望该类型的所有对象都是请求作用域。在我的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中,并自动将它们作为请求范围。
答案 0 :(得分:0)
除了@Scope之外,您可能会尝试使用@Component注释该类。您需要在包中添加带有@Configuration和@ComponentScan的配置类,以允许扫描组件。