Frage

Warum das Federgerüst Klasse haben JdbcDaoSupport das erfordert a DataSource und schafft a JdbcTemplate intern, hat aber keine analagöse Klasse JmsSupport das könnte a erfordern JMS ConnectionFactory und erstellen a JmsTemplate?

Wie ich verstehe, der Zweck der Klasse JdbcDaoSupport ist, redundante Fälle von zu beseitigen JdbcTemplate (eins pro DataSource Instanz) in einem Anwendungskontext. Stattdessen erstellt der Container Instanzen einer Anwendung DAO, von denen jeder abgeleitet ist JdbcDaoSupport, akzeptiert eine einzigartige DataSource und liefert dies DataSource zum JdbcDaoSupport Elterninstanz, die sie wiederum für die interne liefert JmsTemplate.

Warum nicht Frühling eine analoge Klasse bietet JmsSupport Das würde dazu dienen, die Anzahl der Anzahl zu verringern JmsTemplate Instanzen in einem Anwendungskontext?

War es hilfreich?

Lösung

JdbcDaoSupport ist kaum mehr als ein Benutzer von a JdbcTemplate Das erstreckt sich auch DaoSupport. Es bietet eine Basisimplementierung des DAO -Designmusters für JDBC, wie es andere Klassen für Hibernate, JPA und andere tun.

Viele Leute benutzen das Dao -Paradigma nicht; Stattdessen definieren sie einen Singleton JdbcTemplate dass sie direkt in ihre Serviceschicht einspritzen.

Für JMS gibt es - soweit ich weiß - kein generisches Designmuster wie das DAO, und es gibt keine anderen möglichen Variationen auf "einem Benutzer von JmsTemplate". Sie sollten einen Singleton verwenden JmsTemplate: Es steckt nichts mehr.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top