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

问题描述 投票:1回答:2

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

但是当我添加@ApplicationScoped@Path时,我可以看到ManagedExecutorService资源注入已经正确发生。

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

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

java-ee dependency-injection jax-rs cdi
2个回答
2
投票

资源类实例的生命周期由CDI或JAX-RS管理。在资源类上添加@ApplicationScoped后,它将由CDI管理。多数民众赞成。如果不是CDI管理,你不能注入CDI @Resource


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.