我有这个代码
@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/