2013-07-16 27 views
0

在Spring中,是有可能與覆蓋範圍代理單例的bean定義? 也就是說,如果我有一些重寫一個單用範圍代理

@Configuration 
public class MyConfiguration 
{ 
    @Bean 
    public Foo foo() 
    { 
     return new Foo(); 
    } 
} 

我想創建一個測試配置,但與「富」的定製範圍:

@Configuration 
public class MyTestConfiguration extends MyConfiguration 
{ 
    @Override 
    @Scope(value="myTestScope", proxyMode=ScopedProxy.TARGET_CLASS) 
    public Foo foo() 
    { 
     return new Foo(); 
    } 
} 

然而,這種方法行不通!構建的Foo還是單身!不幸的是,添加@Primary並將@Bean註釋添加到測試配置也無濟於事。有沒有辦法用範圍代理覆蓋單例?

回答

0

有效範圍值:

  1. 單 - 返回每個Spring IoC容器一個bean實例
  2. 原型 - 當請求
  3. 要求每次返回一個新的bean實例 - 返回一個每個HTTP請求的單個bean實例。會議 -
  4. 回報率爲HTTP會話一個bean實例。 globalSession的 -
  5. 回報率爲全球HTTP會話一個bean實例。
+0

不完全。既然Spring 2.0:http://static.springsource.org/spring/docs/current/spring-framework-reference/html/beans.html#beans-factory-scopes-custom 您可以創建自己的自定義範圍,這顯然是我在這裏... – ManRow