Dao 层 能不能用静态写
Dao 层 能不能用静态写?这样控制层 调用的时候就不用每次都要new 一个dao层了
Dao 层 能不能用静态写?这样控制层 调用的时候就不用每次都要new 一个dao层了
2017-03-15
DAO 采用静态方法的话有好处,也有坏处。
做成静态方法的话,完全把 DAO 想成一个工具类了。一般来说工具类是与具体的业务性质无关的,
存放的是一些工具方法,在任何程序中都有可能用到的东西。
做成静态方法的话,让业务层与 DAO 层完全耦合起来了,如果 DAO 在技术更新后需要采用其他的
ORM 工具重新实现的话,这样一来根本就不可能另外再实现一个 DAO 类,只能在原始的 DAO 类中
更改,要么就需要更改业务类中的代码,如果项目很大的话,这个工作量是非常惊人的。
静态 DAO 方法,在事务上下文中会存在问题,没办采用声明式事务进行管理(比如:Spring 中或
者是 EJB 中的),因为声明式事务处理需要采用动态代理方式进行事务上下文的切入,由于不存在
DAO 对象,因此也不存在代理对象,也没办法使用声明式事务,只能手工处理。
如果一个业务逻辑调用多个 DAO 方法的话,在这种事务上下文环境中,如果靠手工处理事务那会是
非常繁锁,而且将事务逻辑侵入到了业务层中。
以上均转载自 : http://bbs.csdn.net/topics/310103844
强烈建议!!!有问题或者提问之前先去找度娘或者谷哥
举报