java - @Named bean 未注入(inject)@Stateless bean

标签 java glassfish ejb cdi

我在 EJB 模块中有一个 @Stateless bean

@Stateless 
public class Foo {
    @Inject Bar bar;

    public void helloFromBar() { return bar.hello(); }
}

我在同一个 EJB 模块中有一个 @Named bean

@Named @ApplicationScoped
public class Bar {
    public String hello () { return "hello"; }
}

Bar#hello 从 Web 模块中的 CDI bean 调用。

@Named @ViewScoped
public class ViewBean {

    @EJB Foo foo;

    public String callFoo() { return foo.helloFromBar(); }

}

由于某种原因,Bar 没有注入(inject)到 Foo 中 - 它始终是一个空引用。我希望这会起作用。

最佳答案

根据 @bkail 的评论,我缺少 META-INF/beans.xml。

关于java - @Named bean 未注入(inject)@Stateless bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20399212/

相关文章:

java - 当我们可以使用ExecutorService时,为什么在EJB中使用@Asynchronous?

java - 检查 int 数组的排列

java - EclipseLink JPA `@PreUpdate` 调用不持久

Java - 如何在 swings 中添加换行符

java - 为什么这个 REST 服务不起作用?

java - Glassfish 过滤器初始化被调用多次

java - 记录 Web 应用程序中第三方代码创建的线程中未捕获的异常

Java:跟踪用户登录 session - session EJB 与 HTTPSession

java - 如何在 java 中执行多个 postgres 查询?

jakarta-ee - Gradle:找不到提供的方法()