我有这个代码
@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 ...
我可以在没有接口的情况下进行依赖注入吗?
答案 0 :(得分:5)
你应该使用
@Stateless
@LocalBean // <-- annotation here
class Repo {
}
class WebS
{
@EJB private Repo repo;
// ...
}
确保使用符合EJB-3.1的应用程序服务器