2

为什么Spring 框架JdbcDaoSupport需要 aDataSource并在JdbcTemplate内部创建 a 的类,但没有JmsSupport可能需要JMS ConnectionFactory并创建 a 的类似类JmsTemplate

据我了解,类的目的JdbcDaoSupport是消除应用程序上下文中JdbcTemplate(每个实例一个)的冗余实例。DataSource相反,容器创建应用程序 DAO 的实例,每个实例都派生自JdbcDaoSupport,接受一个唯一的DataSource并将其提供DataSourceJdbcDaoSupport父实例,而父实例又将其提供给其内部的JmsTemplate.

为什么 Spring 不提供一个类似的类JmsSupport来减少JmsTemplate应用程序上下文中的实例数量?

4

1 回答 1

4

JdbcDaoSupport只不过是 a 的用户,JdbcTemplate它也扩展了DaoSupport. 它为 JDBC 提供了 DAO 设计模式的基本实现,就像其他类为 Hibernate、JPA 等所做的那样。

很多人不使用 DAO 范式;相反,他们定义了一个单例JdbcTemplate,将其直接注入到他们的服务层中。

对于 JMS,据我所知,没有像 DAO 这样的通用设计模式,并且“用户的JmsTemplate”没有其他可能的变体。你应该使用一个单例JmsTemplate:没有更多的东西了。

于 2011-03-16T19:57:51.233 回答