1

我有一些服务想从使用工厂更改为使用依赖注入框架。

使用 Java 6+ 是否有一种“标准”方式可以在不使用第三方库的情况下实现这一点?CDI(上下文和依赖注入)是否适用于这种情况?

例子会很棒!我已经开始使用“看似”简单的 Guice,但它目前正在引起问题,因此我正在寻找其他选择。

4

2 回答 2

1

DI 和 CDI 在 Java 标准 JSR299 和 JSR330 中定义。任何支持这些标准的 DI 框架都可以。对于 CDI,这将是 Weld-SE,对于 DI,您可以坚持使用 guice,这对我很有帮助。

于 2013-04-03T14:32:01.700 回答
0

你的问题有点笼统。我希望您说“Java 6+”时指的是 JavaEE 6;因为 Java SE 6 不提供没有 3rd 方库的本地 DI。

在 Java EE 空间中,@ManagedBean注释应该作为所有 DI 需求的标准。@ManagedBean任何用(from注释的东西javax.annotation.ManagedBean都是符合条件的注入目标,也有资格被注入到其他 bean 中。

例如,一个 JAX-RS 类本身并不是一个合格的注入目标。添加@ManagedBean到它使其有资格注入 EJB、资源和其他上下文好东西

于 2013-04-01T15:28:08.943 回答