4

我有这个代码

@Local  
interface IRepo  
{  //...  
}  

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

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

并且一切正常。

但现在我删除界面 IRepo并制作

@Stateless  
class Repo     {  // ..  
}  

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

并且 JNDI 查找失败。

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

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

4

1 回答 1

7

你应该使用

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

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

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

于 2012-05-08T13:15:55.547 回答