为什么我不能让注射工作?

时间:2013-08-06 09:15:21

标签: java maven java-ee dependency-injection cdi

我有一个项目,我正在尝试注入我的服务,但我不断注入UserService的空指针异常。我无法弄清楚我错过了什么。

我将项目添加到我的github,https://github.com/JohnnyBekkestad/demo,请注意,为了专注于问题,我删除了大量代码来清理它。

如果有人能看到我所缺少的东西,我将非常感激。

最诚挚的问候 约翰尼

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

如果使用Tomcat,请查看此tutorial并记住添加beans.xml,以更改web.xml并包含/排除不必要的依赖项(weld)。此外,没有这样的注释对

@Path 
@ManagedBean

请记住:JAX-RS(或者在你的情况下是Jersey)告诉你,当它找到任何实现时,这意味着@Path就足够了:

INFO: Root resource classes found:
   class com.bekkestad.demo.web.rest.UserController

作为初学者:Tomcat不是Java EE容器。如果使用GlassFish 4然后首先熟悉Java EE(@EJB> @Stateless)然后添加CDI功能 - 但是您不必添加任何依赖项,因为焊接已经可用(=没有context.xml或web中的更改)。需要xml,只需要WEB-INF中的beans.xml以及META-INF目录中的所有其他项目。