Eug*_*neP 3 java spring hibernate
我是否正确理解DAO和服务层互连的原则?DAO执行基础对象的提取,比如来自db的id.
服务层使用DAO对象,并且可以在一个函数中调用多于一种DAO 方法.所以,服务层必须:
实例化DAO实现对象
根据需要调用DAO的多个方法
如果Dao实现了一个接口,那么DAO接口是否必须有一个方法setSessionFactory()?
如何在Spring中声明性地标记:
DAO对象
服务层方法和类整体
这样它可以提供所需的东西吗?
我很惊讶,没有其他人特别提到这一点,但具体实现的细节,如setSessionFactory()应该不会在你的DAO接口.通过在DAO接口中添加特定于Hibernate的类,您可以将DAO直接绑定到Hibernate.
使用接口和依赖注入的目的是允许您更改层(您的DAO)的实现细节(例如,您使用的ORM解决方案,或者您的数据来自Web服务与数据库)而不影响其他层.
如果添加setSessionFactory到DAO接口,那么使用此DAO的所有其他层都会意识到并且与数据访问是通过Hibernate完成的事实相关联.这与您尝试使用接口和依赖注入实现的目标正好相反.
| 归档时间: |
|
| 查看次数: |
4897 次 |
| 最近记录: |