Avn*_*evy 13 java spring annotations inversion-of-control
我有一个名为Bar的类,其中包含以下注释:
@Configurable(autowire = Autowire.BY_TYPE)
在私有成员上,我有以下注释:
@Autowired(required = true)
private Foo foo;
Run Code Online (Sandbox Code Playgroud)
在spring配置中,我有一个类Foo的bean.如果bean被定义,scope="prototype"
它不起作用,我得到以下异常:
NoSuchBeanDefinitionException:没有为依赖项找到Foo类型的匹配bean:期望至少有一个bean可以作为此依赖项的autowire候选者
一旦我将注入的bean范围更改为"singleton"
它就可以了.
是否允许原型scoped bean的自动接线?
有没有解决方法(除了手动获取bean)?
先谢谢,Avner
Avn*_*evy 13
以下链接为此类方案提供了替代解决方案:
第一个链接谈到添加到Foo:
@Component
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS, value = "prototype")
class Foo
Run Code Online (Sandbox Code Playgroud)
每次调用都会导致新实例.
归档时间: |
|
查看次数: |
42837 次 |
最近记录: |