Почему у Spring есть класс JdbcDaoSupport, но нет аналогичного класса JmsSupport? - PullRequest
1 голос
/ 16 марта 2011

Почему Spring Framework имеет класс JdbcDaoSupport, который требует DataSource и создает JdbcTemplate для внутреннего использования , но не имеет аналогового класса JmsSupport, для которого может потребоваться JMS ConnectionFactory и создать JmsTemplate?

Как я понимаю, цель класса JdbcDaoSupport состоит в том, чтобы исключить избыточные экземпляры JdbcTemplate (по одному на DataSource экземпляр) в контексте приложения. Вместо этого контейнер создает экземпляры DAO приложения, каждый из которых наследуется от JdbcDaoSupport, принимает уникальный DataSource и предоставляет этот DataSource родительскому экземпляру JdbcDaoSupport, который, в свою очередь, предоставляет его своему внутреннему JmsTemplate .

Почему Spring не предоставляет аналогичный класс JmsSupport, который бы уменьшал количество JmsTemplate экземпляров в контексте приложения?

1 Ответ

3 голосов
/ 16 марта 2011

JdbcDaoSupport немного больше, чем пользователь JdbcTemplate, который также расширяет DaoSupport.Он обеспечивает базовую реализацию шаблона проектирования DAO для JDBC, как и другие классы для Hibernate, JPA и др.

Многие люди не используют парадигму DAO;вместо этого они определяют синглтон JdbcTemplate, который они внедряют непосредственно в свой уровень обслуживания.

Для JMS, насколько я знаю, нет общего шаблона проектирования, такого как DAO, и нет других возможных вариантовна "пользователя JmsTemplate".Вы должны использовать синглтон JmsTemplate: в нем больше ничего нет.

...