2

Spring FrameworkJdbcDaoSupportには、 を必要として内部でDataSourceを作成するクラスがあるのに、JMSを必要として を作成する類似のクラスがないのはなぜですか?JdbcTemplateJmsSupport ConnectionFactoryJmsTemplate

私が理解しているように、クラスの目的は、アプリケーション コンテキストで(インスタンスごとに 1 つ)JdbcDaoSupportの冗長なインスタンスを排除することです。代わりに、コンテナーはアプリケーション DAO のインスタンスを作成します。それぞれが から派生し、一意のものを受け取り、これを親インスタンスに提供します。親インスタンスはそれを内部の に提供します。JdbcTemplateDataSourceJdbcDaoSupportDataSourceDataSourceJdbcDaoSupportJmsTemplate

Springが、アプリケーション コンテキスト内のインスタンスJmsSupport数を減らすのに役立つ類似のクラスを提供しないのはなぜですか?JmsTemplate

4

1 に答える 1

4

JdbcDaoSupportJdbcTemplateも拡張する a のユーザーに過ぎませんDaoSupport。他のクラスが Hibernate、JPA などに対して行うように、JDBC の DAO 設計パターンの基本実装を提供します。

多くの人は DAO パラダイムを使用していません。JdbcTemplate代わりに、サービス層に直接挿入するシングルトンを定義します。

JMS の場合、私の知る限り、DAO のような一般的な設計パターンはなく、「a user of JmsTemplate」には他に考えられるバリエーションはありません。シングルトンを使用する必要がJmsTemplateあります。それ以上のものはありません。

于 2011-03-16T19:57:51.233 に答える