1、Spring对数据访问的支持同样遵循OO原则:针对接口编程
2、DAO(数据访问对象)提供对数据库进行数据访问的一种方式
3、服务对象(Service object)/业务对象(Business object)本身不会处理数据访问,而是将数据访问委托给DAO。DAO接口确保其和服务对象的松耦合
4、服务对象不与特定的数据访问实现绑定
5、数据访问层以与持久化技术无关的方式进行数据访问。持久化技术的选择独立于DAO(接口),只有相关的数据访问方式通过接口进行发布,可灵活切换持久化框架(实现策略模式)
6、数据访问对象DAO模式:是GoF Strategy策略模式的一种特殊形式。用途是将“与持久化相关的代码”从业务逻辑中分离出来
7、DAO模式需要一个DAO接口,以便将特定的数据访问实现细节掩藏起来
8、业务对象BO只应该关注业务逻辑,不应该关心数据存取细节;数据访问对象必须实现特定的持久化策略,并通过一个通用的DAO接口暴露给业务对象使用
9、数据访问对象需要参与到事务中,但通常不应该由它们来驱动事务,因为DAO中的操作一般都是细粒度的。应该由调用DAO的业务对象来负责划分事务——通常是在业务facade门面的层面上。一个业务对象可能调用多个DAO方法,甚至可能在一次事务中涉及多个DAO
10、示例:一个基于web的应用程序按照逻辑分为三层:web层、业务逻辑层、数据访问层。有一个OrderManager业务对象,需要存储一个订单(order),并对库存(inventory)数据库进行更新。
[https://blog.csdn.net/csj50/article/details/79491983]