Использование JdbcTemplate с источником данных JNDI "не из Spring-Bean" - PullRequest
1 голос
/ 22 сентября 2011

Страница 342 из spring-framework-reference.pdf (в комплекте с spring-framework-3.1.0.M2) гласит: «JdbcTemplate можно использовать в реализации DAO посредством прямого создания экземпляра со ссылкой на источник данных». Однако далее говорится: «Источник данных всегда должен быть настроен как компонент в контейнере Spring IoC».

Кто-нибудь знает, почему источник данных не должен предоставляться JdbcTemplate из простого старого поиска JNDI вне контейнера Spring, например, Как программно использовать Spring JdbcTemplate?

1 Ответ

1 голос
/ 22 сентября 2011

"Источник данных всегда должен быть сконфигурирован как bean-компонент в контейнере IoC Spring."

Похоже, что эта заметка предназначена для пояснения предыдущего оператора:

«JdbcTemplate можно использовать в реализации DAO посредством прямого создания экземпляра с помощью ссылки на DataSource или настроить в контейнере Spring IoC и передать DAO в качестве ссылки на bean-компонент».

Я полагаю, что информация этих операторовПопытка передать это заключается в том, что при настройке DAO в Spring вы можете:

  1. вставить DataSource непосредственно в DAO и создать JdbcTemplate в коде самостоятельно, либо
  2. Вы также можете сделать JdbcTemplate bean-компонентом Spring, внедрить DataSource в JdbcTemplate и вставить JdbcTemplate в DAO.

Примечание означает, что если Spring управляет DAO и егоВ любом случае DataSource должен быть bean-компонентом Spring, так как он должен быть внедрен либо вDataSource для использования при создании JdbcTemplate (case 1) или в самом JdbcTemplate (case 2).

Я бы не сказал, что DataSource, используемый в JdbcTemplate, всегда должен управляться Spring и толькоВесна.Записка действительно производит такое впечатление.Вероятно, стоит подать ошибку против.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...