说说 Spring DAO 的设计思想

DAO (Data Access Object )是访问数据的对象,它不但屏蔽了不同的数据存储介质(数据库、文件或 LDAP 等),也屏蔽了具体的实现技术 。

我们只要为数据访问定义好 DAO 接口,然后使用具体技术来实现 DAO 接口,就可以平滑地切换这些不同的实现技术啦O(∩_∩)O~

业务层通过 DAO 接口来访问数据,这样就实现了业务层与 DAO 层具体持久化技术之间的解耦,比如下图中的 RoleService 通过 RoleDao 接口来访问角色数据对象:

抽象出 DAO 层有这些优点:

  • 可以很容易构造出模拟对象,方便开展单元测试。
  • 有两种切面技术可以选择,即可以使用 JDK 动态代理,又可以使用 CGLib 动态代理。
  • 最关键的是实现了业务层与 DAO 层具体持久化技术之间的解耦。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值