在Spring中,是否可以使用作用域代理覆盖单例bean定义? 也就是说,如果我有一些
@Configuration
public class MyConfiguration
{
@Bean
public Foo foo()
{
return new Foo();
}
}
我想创建一个测试配置但是具有“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 :(得分:0)
有效范围值为:
- singleton - 每个Spring IoC容器返回一个bean实例
- prototype - 每次请求时返回一个新的bean实例
- request - 每个HTTP请求返回一个bean实例。会议 -
- 每个HTTP会话返回一个bean实例。 globalSession -
- 每个全局HTTP会话返回一个bean实例。
醇>