java - 作用域 bean : inject one into another

标签 java spring scope

如何在没有代理的情况下将一个 session 范围的 bean 注入(inject)另一个 session 范围的 bean?

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

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

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

最佳答案

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

关于java - 作用域 bean : inject one into another,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7991114/

相关文章:

java - 413 请求实体太大 - 使用 Spring Boot 和 Rest 模板

javascript - 变量作用域上的简单点 - Javascript

javascript - 为什么要将全局变量传递给函数?

java 保存列表<JButton>

java - 使用 Java 应用程序从 Windows 10 连接 Virtualbox VM 中的 Hbase Stand Alone

java - 使用 Java 检查一个值是否存在于 JSON 对象中

java - Spring Boot + MySQL 社区服务器

java - 使用 JBoss 和 Spring 在 Java Web 应用程序之间共享业务对象实例的最佳方式是什么?

python - Python中的 block 范围

java - 在java中使用递归方法