我有一个 jar,其中包含定义如下的 @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 的最佳方法是什么?我尝试了几种解决方案,但都不起作用。
例如这个
还有这个
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();
}
}
关于java - 尝试使用正在运行的 Web 应用程序中的 CDI 实例化 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45449335/