JAX-RS中没有发生@Resource注入

时间:2019-03-19 19:31:49

标签: java-ee dependency-injection jax-rs cdi

如果未在JAX-RS资源上指定@ApplicationScoped,则在下面的行中, ManagedExecutorService的@Resource注入未发生,我遇到了NullPointerException

但是当我将@ApplicationScoped@Path一起添加时,我可以看到ManagedExecutorService资源注入已正确进行。

请帮助找出JAX-RS资源之间的区别 仅使用@Path("/uri"),并且当@Path("/uri")@ApplicationScoped / @RequestScoped一起使用时。

使用的IDE和服务器分别是Netbeans和Glassfish 5。

2 个答案:

答案 0 :(得分:2)

资源类实例的生命周期由CDI或JAX-RS管理。在资源类上添加@ApplicationScoped后,它就由CDI管理。那就是区别。如果不是CDI管理的,则不能注入CDI @Resource

答案 1 :(得分:0)

只能为容器托管类注入资源。