@EJB依存性注入を機能させることができません。LinuxとMavenをビルドツールとして使用しています。
ソースコード、IDE、およびアプリサーバーについては、可能な限りシンプルにする代替手段を使用するのが好きです。Glassfish 3.1.2.2、NetBeans 7.2で試してみましたが、うまくいきませんでした。Glassfishで設定を行っていません。
ここにいくつかのソースコードの例がありますが、機能するコードがあれば役に立ちます。また、これらの種類の問題をデバッグする方法についてのアイデアをいただければ幸いです。すべての初心者がそれらを持っているようです...
LinkResource.java
package se.xyz.webapp;
import javax.ejb.EJB;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import se.xyz.server.LinkService;
@Path("links/{username}")
public class LinkResource {
@EJB
LinkService service;
@GET
@Produces("text/plain")
public String link(@PathParam("username") @DefaultValue("NoName") String name ) {
return service.store(name); // Always nullpointer exception here!
}
}
LinkServiceImpl.java
package se.xyz.server;
import javax.ejb.Stateless;
@Stateless
public class LinkServiceImpl implements LinkService {
public String store(String name)
{
return "From eJB";
}
}
LinkService.java
package se.xyz.server;
import javax.ejb.Local;
@Local
public interface LinkService {
public String store(String name);
}
webappは表示されていますが、変数serviceは常にnullです。このコードを機能させることはそれほど重要ではありませんが、DIを機能させることができたとしてもです。遠い将来、私も頑張っていきたいと思いますが、アーキタイプから巨大なアプリを入手するのではなく、手動でやりたいと思っています。私の目標は、私が何をしているのかを理解することです...どんな助けもいただければ幸いです。