【发布时间】:2020-04-20 23:11:41
【问题描述】:
如何检查当前环境(SE 或 EE)是否启用了 CDI?如果启用, CDI 应该用于实例化一个类(例如 Foo),否则使用 new Foo()。
Foo foo;
if (isCDIEnabled()) {
// how to get CDI container from current environment
foo = cdiContainer.select(Foo.class).get();
}
else
foo = new Foo();
如何实现
private boolean isCDIEnabled() {
// how?
}
【问题讨论】:
-
检查
cdiContainer是否为null? -
没有。不知道如何获取 CDI 容器。
-
问题的背景是什么?您的代码可以在 CDI 和非 CDI 环境中执行吗?
-
是的。 CDI 和非 CDI。所以需要检查是否启用了CDI
标签: java dependency-injection cdi