我有一个包含@Stateless类的罐子,像

 @Stateless
 public class TestBean() {
     @Inject
     AnotherBean bean2;
     public String getThis() {
      return bean2.getAString();
     }
 }


在wildfly 10.1.0上运行的Web应用程序(依赖于此jar)想实例化此bean并使用其方法。 Web应用程序的调用方法可以是其他端点(由其他Web应用程序调用),也可以是常规的Java方法。

实例化TestBean的最佳方法是什么?我尝试了几种解决方案,但均无效果。

例如这个

Building a CDI 2 standalone

还有这个

Does CDI work for regular Java application?

我是CDI的新手,它是如何工作的,我想知道这在某处是否解释得很好?

最佳答案

目前尚不清楚您的问题是什么,但是如果您在WAR文件中具有JAX-RS资源,那么这应该可以工作

@Path("/somePath")
@RequestScoped
public class SomeResource {
    @Inject
    private TestBean testBean;
    @GET
    public String doGet() {
        return testBean.getThis();
    }
}

07-24 21:48