java - EJB:没有接口(interface)的依赖注入(inject)

标签 java dependency-injection ejb

我有这个代码

@Local  
interface IRepo  
{  //...  
}  

@Stateless  
class Repo implements IRepo  
{  // ..  
}  

class WebS  
{  
@EJB private IRepo repo;  
// ...  
}  

一切正常。

但现在我删除接口(interface) IRepo 并制作

@Stateless  
class Repo     {  // ..  
}  

class WebS  
{  
@EJB private Repo repo;  
// ...  
}  

并且 JNDI 查找失败。

could not resolve global JNDI name for @EJB for container WebS ...   

我可以在没有接口(interface)的情况下进行依赖注入(inject)吗?

最佳答案

你应该使用

@Stateless
@LocalBean // <-- annotation here
class Repo     {  
}  

class WebS  
{  
@EJB private Repo repo;  
// ...  
}

确保您使用符合 EJB-3.1 的应用程序服务器

关于java - EJB:没有接口(interface)的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10498959/

相关文章:

java - LibGDX - 在运行时激活加速度计

java - 为什么 Dagger 注入(inject)具体类?

node.js - 在 Node.js 中使用全局变量进行依赖注入(inject)

java - 如何在 Maven 的 WAR 项目中指定 EJB 引用?

java - Neo4j java.lang.StackOverflowError

java - 将项目数组列表设置为 ADD_TO_CART 中的 Firebase 分析事件不起作用(Android)

java - 使用 EJB,ClientEJB 无法识别 EJB 项目中的域对象

java - 安排消息驱动 bean 在特定时间访问队列?

java - scala - 无法覆盖java类的 protected 变量

java - 使用 p : namespace 注入(inject)映射类型属性