Scoped bean:将一个注入另一个

时间:2011-11-03 06:41:26

标签: java spring scope

如何将会话范围的bean注入另一个没有代理的会话范围bean?

@Component
@Scope("session")
class Foo {
    @Inject Bar bar;
}

@Component
@Scope("session")
class Bar {
}

它报告错误“没有匹配的bean”。虽然TARGET_CLASS范围代理可以解决此问题,但为什么我需要代理相同的范围bean?

1 个答案:

答案 0 :(得分:0)

我的猜测是 - 因为在注入点,spring不会根据当前bean的范围区分注入的bean。它需要一个代理来获取目标bean(在这种情况下来自会话),忽略注入它的bean的范围。