2012-10-12 60 views
1

我想知道什么是Spring DAO的典型用例,我们可以轻松地在不同的持久性框架之间切换。Spring DAO的用例

除了抽象锅炉代码(对于JDBC,Hibernate类似)为什么任何应用程序想要如此频繁地更改其ORM框架?

回答

2

通过使用具有不同DAO接口的DAO模式,可以让您模拟DAO实现。有了这个,您可以提高代码的可测试性,因为您可以编写不需要数据库访问的测试。

它不仅是经常能够在ORM框架之间切换,而且也是关于减少努力,如果您是强制执行来更改ORM。

另一个原因是,您可能拥有不同的数据源,例如数据库,web服务或文件系统。在这种情况下,您不会抽象ORM,而只是简单地使用持久性机制。

1

我认为DAO背后的真正重要思想是,您只有一个位置,即特定实体的所有与数据访问相关的代码都位于该位置。这使得您的持久层的测试和重构更容易,并且您的代码具有更好的可读性。

此外,它使代码更好的可读性。想想你的团队中应该实现一项功能的新开发人员。如果她需要访问数据库,她会查看dao的数据访问方法。 如果您将数据访问代码分散到不同的服务中,那么有人会产生代码重复的风险非常高。