我尝试使用 TJWS Embeddable Servlet Container 使用此用户指南http://docs.jboss.org/resteasy/docs/2.3.3.Final/userguide/html/RESTEasy_Embedded_Container.html#d0e2640启动 RestEasy 应用程序
JBOSS7-AS 中的应用程序工作正常。我想使用 TJWS 进行调试和单元测试,但是依赖注入有问题。
我创建资源类 UserResource,它使用 CDI 注入实用程序类 UserManager:
@Path("users")
@SessionScoped
class UserResource {
@Inject
UserManager userManager; // simple interface and imlementation
public UserResource() {} // constructor with no parameters for bean
@Path("list")
@GET
public List<User> list() {
List<User> userList = userManager.getList(); // NullPointerException
return userList;
}
}
在 main 中启动 TJWS:
public static void main(String[] args) throws IOException {
TJWSEmbeddedJaxrsServer tjws = new TJWSEmbeddedJaxrsServer();
tjws.setPort(9997);
tjws.start();
tjws.getDeployment().getRegistry().addPerRequestResource(User.class);
}
当我尝试http://localhost/users/list
通过浏览器获取时,我在 UserResource.list() 方法中得到 NullPointerException,因为 userManager 未注入并且为空。
有没有办法注入userManager?