2011-03-16 54 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

相关问题