java - JBoss 焊接 CDI : Inject the same instance in two different Objects

标签 java jboss-weld

我有两个基础类ABB 被注入(inject)到 A 中。我在 AB 中注入(inject)了第三个类 C,如下所示:

class A {
    @Inject B b;
    @Inject C c;
}

class B {
    @Inject C c;
}

class C {

}

我希望 AB 中包含的 C 实例相同。我可以在 B 中使用 setC() 方法,但这根本不是注入(inject)的哲学。我应该使用焊接范围吗?如果是的话我该怎么办?

谢谢

最佳答案

解决方案只是使用 @Singleton Annotation 来注释我的类和注入(inject)

class A {
    @Inject B b;
    @Inject @Singleton C c;
}

class B {
    @Inject @Singleton C c;
}

@Singleton
class C {

}

关于java - JBoss 焊接 CDI : Inject the same instance in two different Objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502836/

相关文章:

java - 如何使用 Weld 轻松注入(inject)字符串常量?

jakarta-ee - CDI 的静态实用方法 (Weld JEE6)

events - 如何在 Glassfish 3.1 中结合 @Asynchronous 和 Weld/CDI 事件和 @Observes(during=TransactionPhase.AFTER_COMPLETION)

java - 网 bean : Weird weld se behavior

java - 焊接和 Java SE

java - 连接到 SQL Server 导致错误 "The driver received an unexpected pre-login response"

java - Java 中的 Tomcat 6 和 TLSv1.2

java - 我的 GUI 重复很多次并且无法在 netbeans 中输入或单击

java - 在加载之前将属性传递给 log4j

java - 我如何使用线程在java中模拟非阻塞i/o