EJB:没有接口的依赖注入

Ily*_*lya 3 java dependency-injection ejb

我有这个代码

@Local  
interface IRepo  
{  //...  
}  

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

class WebS  
{  
@EJB private IRepo repo;  
// ...  
}  
Run Code Online (Sandbox Code Playgroud)

一切正常.

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

@Stateless  
class Repo     {  // ..  
}  

class WebS  
{  
@EJB private Repo repo;  
// ...  
}  
Run Code Online (Sandbox Code Playgroud)

和JNDI查找失败.

could not resolve global JNDI name for @EJB for container WebS ...   
Run Code Online (Sandbox Code Playgroud)

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

And*_*кин 5

你应该用

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

class WebS  
{  
@EJB private Repo repo;  
// ...  
}
Run Code Online (Sandbox Code Playgroud)

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