java作用域bean:将一个注入另一个
如何在没有代理的情况下将会话范围的bean注入另一个会话范围的bean
@Component
@Scope("session")
class Foo {
@Inject Bar bar;
}
@Component
@Scope("session")
class Bar {
}
它报告错误“没有匹配的bean”。虽然TARGET_CLASS
作用域代理可以解决这个问题,但为什么我需要为相同作用域的bean使用代理呢
你可以在下面搜索框中键入要查询的问题!
如何在没有代理的情况下将会话范围的bean注入另一个会话范围的bean
@Component
@Scope("session")
class Foo {
@Inject Bar bar;
}
@Component
@Scope("session")
class Bar {
}
它报告错误“没有匹配的bean”。虽然TARGET_CLASS
作用域代理可以解决这个问题,但为什么我需要为相同作用域的bean使用代理呢
# 1 楼答案
我的猜测是——因为在注入点,spring不会根据当前bean的范围来区分注入的bean。它需要一个代理(在本例中是从会话中)获取目标bean,而不考虑它被注入的bean的范围