我是使用Java EE开发企业应用程序的新手。我一直在使用jdeveloper。虽然我已经阅读了一些书籍,但我仍然觉得很难理解某些模块的实际用途和好处。
如果你有人能回答关于注释的一些问题(在代码下面写下),那就太好了。
import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Stateless(name = "StudentWSApiBean", mappedName = "RizwanWS-RizwanService-StudentWSApiBean")
@WebService(name = "StudentWSApi", serviceName = "StudentWSApi", portName = "StudentWSApiPort")
public class StudentWSApiBeanBean implements StudentWSApiBean {
@Resource
SessionContext sessionContext;
@EJB
StudentSession mySession;
public StudentWSApiBeanBean()
{
}
@WebMethod
public StudentResponse saveStudentInfo(@WebParam(name = "arg0")
StudentRequest rqst)
{
StudentResponse resp = new StudentResponse();
resp.setStat(0);
try
{
int ret = mySession.saveStudentInfo(rqst.getName(), rqst.getAddr(), rqst.getClass_(), rqst.getGrade());
resp.setStat(ret);
}catch(Exception exc)
{
}
return resp;
}
}
在上面的代码中,
@EJB
StudentSession mySession;
然后我用,
mySession.saveStudentInfo(rqst.getName(), rqst.getAddr(), rqst.getClass_(), rqst.getGrade());
即。我正在使用mySession来访问StudentSession的方法。现在,@EJB
注释在这里做的有什么好处我不清楚。
@Resource
SessionContext sessionContext;
除了声明之外,我还没有在代码中的任何地方看到使用sessionContext。
@Resource
在这里意味着什么。
答案 0 :(得分:0)
您已被正确指导阅读一些Java EE教程。
如果需要搜索@Resources
构造的名称,可以键入“Java EE资源注入”或“Java EE依赖注入”。没有必要直接回答,因为到处都有大量的阅读。
答案 1 :(得分:0)
在Java EE 5中,您可以使用@EJB之类的注入语句。这简化了开发过程并避免了查找。
在Java EE 5之前,如果要使用EJB,首先要进行查找以获取远程/本地接口,然后再使用它。在Java EE 5中,您可以简单地声明@EJB并将容器注入EJB的引用,您可以直接使用它。
同样的事情是@Resources。
如上所述,有大量书籍和文章表明注射及其益处。