spring - spring DAOSupport有什么优势

标签 spring templates dao

我阅读了 Spring 框架的 DAOSupport 类。但是我无法理解这些 DAOSuport 类的优点。在 DAOSupport 类中,我们调用 getXXXTemplate() 方法来获取特定的模板对象,然后将其进一步用于数据库访问。

即使不扩展 DAOSupport,我们也可以在类中注入(inject) XXXTemplate。 其余的事情将保持不变。

那么扩展DAOSupport类有什么好处呢?

编辑:- 添加示例 类扩展了 spring 的 SimpleJdbcDaoSupport

public class JdbcDao extends SimpleJdbcDaoSupport {
    public int create(Bb obj) {        
       getSimpleJdbcTemplate().update("insert into ..... ")  //insert query
    }

这个类的Bean可以定义为:-

<bean id="jdbcDao" class="example.dao.support.JdbcDao">  
  <property name="dataSource"><ref local="dataSource"/></property>
</bean> 

我们可以在不扩展 SimpleJdbcDaoSupport 的情况下创建自定义类,它将具有 JdbcTemplate 类型的属性

public class MyDAO {
    public myJdbcTemplate; // ant its getter and setter
    public int create(Bb obj) {        
       getMyJdbcTemplate().update("insert into ..... ")  //insert query
    }

它的 bean 将被定义为:-

<bean id="jdbcDao" class="MyDAO">  
  <property name="myJdbcTemplate"><ref local="jdbcTemplateBean"/></property>
</bean> 

如您所见,两个类都做同样的事情。在扩展 SimpleJdbcDaoSupport 时,我们正在注入(inject) DataSource,如果没有它,我们将直接注入(inject) jdbcTemplate bean。就是这样。没有区别了。 所以我看不出大量使用 DAOSupport 类有什么好处。 DAOSupport 类提供的任何附加功能?

最佳答案

当您使用 HibernateDAOSupport 时,您可以看到不同之处。 1. 配置事务以优化应用程序在 applicationContext 上的性能:

select : read only create/update : read and write.

  1. 您只使用一个 session (使用 getHibernateTemplate() 和 sessionFactory)
  2. 当我们更新数据库中的一些数据时,我们只会将修改与在 HibernateDAOSupport 上实现的方法合并。
  3. DAOSupport 上已经实现了许多方法,我们可以根据需要使用它。

关于spring - spring DAOSupport有什么优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13853708/

相关文章:

java - 为什么不让 Domains 直接扩展 GenericDAO?

java - 使用 DAO 模式

spring - 使用 Spring Bean 声明覆盖 Grails 中的服务

使用 JNDI hibernate : Cannot create JDBC driver of class '' for connect URL 'null'

javascript - 在 underscore.js 模板引擎中运行模板中的模板(递归)

c++ - 将 const char** 与模板特化结合使用

java - Velocity #foreach 与 XmlTool 节点列表与文本节点

java - 如何维持一对一的关系? (无框架)

java - Spring Security ACL继承: How does it really works?

java - 使用 spring Application Context 时的性能问题