有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java作用域bean:将一个注入另一个

如何在没有代理的情况下将会话范围的bean注入另一个会话范围的bean

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

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

它报告错误“没有匹配的bean”。虽然TARGET_CLASS作用域代理可以解决这个问题,但为什么我需要为相同作用域的bean使用代理呢


共 (1) 个答案

  1. # 1 楼答案

    我的猜测是——因为在注入点,spring不会根据当前bean的范围来区分注入的bean。它需要一个代理(在本例中是从会话中)获取目标bean,而不考虑它被注入的bean的范围