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 に答える