Spring フレームワークの DAOSupport クラスについて読みました。しかし、これらの DAOSuport クラスの利点が理解できませんでした。DAOSupport クラスでは、getXXXTemplate() メソッドを呼び出して特定のテンプレート オブジェクトを取得し、それをさらに DB アクセスに使用します。
DAOSupport を拡張しなくても、クラスに 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>
タイプ JdbcTemplate のプロパティを持つ SimpleJdbcDaoSupport を拡張せずにカスタムクラスを作成できます
public class MyDAO {
public myJdbcTemplate; // ant its getter and setter
public int create(Bb obj) {
getMyJdbcTemplate().update("insert into ..... ") //insert query
}
ビーンは次のように定義されます:-
<bean id="jdbcDao" class="MyDAO">
<property name="myJdbcTemplate"><ref local="jdbcTemplateBean"/></property>
</bean>
ご覧のとおり、両方のクラスが同じことを行います。SimpleJdbcDaoSupport を拡張している間、DataSource を注入し、それなしで jdbcTemplate Bean を直接注入します。それでおしまい。もう違いはありません。したがって、DAOSupport クラスをこれほど多く使用しても、あまり利点はありません。DAOSupport クラスによって提供される追加機能はありますか?