2015-06-19 56 views
0

我有一個類,並且我希望該類型的所有對象都是請求作用域。在我的Spring XML中,我創建了一個這樣的對象列表。這是非常單調和容易出錯的,必須爲每個bean設置作用域和代理模式,那麼有沒有辦法讓這種類型的所有bean的請求被自動作用域?使某個類型的所有Spring 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

您可以使用'abstract' bean,但是您仍然必須在每個'bean'的XML中指定它。 –

回答

0

您可能會嘗試使用@Scope和@Component註釋該類。您需要在包中添加一個帶有@Configuration和@ComponentScan的配置類,以允許掃描組件。

相關問題