【发布时间】:2014-03-21 04:42:50
【问题描述】:
我正在尝试辨别(部分)CDI 和 DI 之间的区别。
关于@Inject,CDI(JSR-299) 仅带来了 DI (JSR-330) 的什么?
CDI @Injects(就像 DI)是真的吗,但是它注入的生命周期与某些上下文/范围相关联。如果在使用 @Inject 时某个对象存在于某个范围内,那么您将获得一个存在于其声明所在的上下文/范围内的实例。如果一个对象不存在,则会创建一个新的实例。
因此,当您想确保获得注入的对象的正确实例时。即@Inject MyObject myObj;将获得会话范围内的 myObject 实例(假设我已经对其进行了注释)
这对吗?
【问题讨论】:
标签: java dependency-injection cdi guice jboss-weld