SpringにクラスJDBCDAOSUPPORTがあるのはなぜですか?
-
26-10-2019 - |
質問
なぜ スプリングフレームワーク クラスを持っています JdbcDaoSupport
それにはaが必要です DataSource
そして、aを作成します JdbcTemplate
内部的には、類似のクラスはありません JmsSupport
それはaを必要とするかもしれません JMS ConnectionFactory
そして、作成します JmsTemplate
?
私が理解しているように、クラスの目的 JdbcDaoSupport
の冗長なインスタンスを排除することです JdbcTemplate
(1つに1つ DataSource
インスタンス)アプリケーションコンテキスト。代わりに、コンテナはアプリケーションDAOのインスタンスを作成します。 JdbcDaoSupport
, 、ユニークを受け入れます DataSource
これを提供します DataSource
に JdbcDaoSupport
それをその内部に提供する親のインスタンス JmsTemplate
.
なぜスプリングは類似のクラスを提供しないのですか JmsSupport
それは、の数を減らすのに役立ちます JmsTemplate
アプリケーションコンテキストのインスタンス?
解決
JdbcDaoSupport
のユーザーにすぎません JdbcTemplate
それも拡張されます DaoSupport
. 。 Hibernate、JPAなどの他のクラスと同様に、JDBCのDAO設計パターンの基本実装を提供します。
多くの人はDAOパラダイムを使用していません。代わりに、彼らはシングルトンを定義します JdbcTemplate
サービスレイヤーに直接注入すること。
JMSには、私が知る限り、DAOのような一般的なデザインパターンはありません。 JmsTemplate
「。シングルトンを使用する必要があります JmsTemplate
: :それ以上のことはありません。