2011-03-16 39 views
1

爲什麼Spring Framework上課JdbcDaoSupport需要一個DataSource,並創建一個JdbcTemplate內部,但沒有analagous類JmsSupport可能需要JMSConnectionFactory,並創建一個JmsTemplate爲什麼Spring有JdbcDaoSupport類,但沒有類JmsSupport類?

據我所知,類JdbcDaoSupport的目的是在應用程序上下文中消除JdbcTemplate(每個DataSource實例一個)的冗餘實例。相反,容器創建應用程序DAO的實例,每個實例從JdbcDaoSupport派生,接受唯一DataSource並將此DataSource提供給JdbcDaoSupport父實例,然後將其提供給其內部JmsTemplate

爲什麼Spring不提供類似的類JmsSupport,它可以減少應用程序上下文中實例的數量?

回答

3

JdbcDaoSupport僅比JdbcTemplate的用戶多一點,其也延伸DaoSupport。它提供了JDBC的DAO設計模式的基礎實現,就像其他類爲Hibernate,JPA和其他類所做的一樣。

很多人不使用DAO範例;相反,他們定義了一個直接注入其服務層的單身人士JdbcTemplate

對於JMS,據我所知,沒有像DAO這樣的通用設計模式,並且「JmsTemplate」的用戶沒有其他可能的變體。你應該使用一個單身人士JmsTemplate:沒有什麼更多。

+0

謝謝你的回答。 Spring in Action是我關於Spring的主要信息來源,並沒有提到你所提出的觀點。 – 2011-03-17 19:52:27

相關問題