DAO类实例与DAO EJB

时间:2014-10-30 16:23:26

标签: java ejb

java EE中的最佳实践是什么?

  1. 在服务(或经理)类

    中创建DAO类的实例

    SalesDAO salesDao = new SalesDAOImpl();

    salesDao.findCustomers();

    1. 在服务(或经理)类中调用DAO EJB

      @EJB 私人SalesDAO salesDao;

      salesDao.findCustomers();

2 个答案:

答案 0 :(得分:2)

第二个是最佳实践(您的DAO可能是CDI bean:它不必是EJB)。

依赖注入是使代码可测试的原因:在对服务进行单元测试时,您可以在服务中注入模拟DAO。

BTW,DAO还需要注入一个DataSource或EntityManager才能从数据库中获取数据。只有在DAO实例由容器管理时才可以这样做。

答案 1 :(得分:1)

我喜欢第二个。 DAO谈论责任,意味着管理持久性数据。但是没有理由不使用EJB。让容器为您管理实例。

EJB 3.1规范comitee的成员Adam Bien在他的博客中说: http://www.adam-bien.com/roller/abien/entry/generic_crud_service_aka_dao