Java EE 6 CDI:@Injected字段的@Injected字段为空

时间:2014-06-04 01:52:09

标签: java-ee-6 cdi tomee

我在这里放了一个小样本应用:https://github.com/lakamsani/cdi-nested

MyResource是MyService的JAX-RS服务,是@Injected MyDao转入@Injected到MyService。当我运行它时(在TomEE 1.6.0.1中),MyDao在注入MyResource的MyService实例中为null。我需要做些什么来使它工作或者有另一种方法来做到这一点(没有明确地实例化对象)。

1 个答案:

答案 0 :(得分:0)

我认为您所看到的是MyService的代理实例被注入MyResource。一旦你在MyService上调用了一个方法,就可以从正确的上下文中获取一个真实的实例,然后用MyDao注入它。

如果在将MyService注入MyResource时确实需要MyService的“真实”实例,则可以使MyService成为依赖的作用域cdi bean,而不是@Stateless EJB。

我可能误解了为什么在调用任何业务方法之前需要将MyDao注入MyService。