Я пытаюсь понять в реальных приложениях предприятия (например, веб-приложение, используя Spring Framework), которым следует управлять источником данных? Я могу думать о двух путях:Должен ли источник данных управляться Spring или web-контейнером?
(i) Источник данных, определенный в конфигурации Spring и при необходимости, может получить источник данных из контейнера Spring.
(ii) Источник данных, определенный в веб-контейнере (например), а затем приложение может получить источник данных из контейнера.
Теперь я следующие вопросы:
Q1) В сценарии (я) Я считаю, что мы можем использовать Spring, DI, чтобы ввести источник данных, как она управляется с помощью Spring. Правильно ли это?
Q2) В сценарии (II), единственный способ, чтобы получить источник данных будет использование поиска JNDI, так как источник данных конфигурируется в контейнере, и, следовательно, не Спринг сможет сделать DI. Правильно ли?
Q3) Когда источник данных управляется Spring Container, он будет иметь возможность обрабатывать connection pooling
, global transaction
и т.д., если да, то как? Использует ли он внутренние библиотеки сторонних разработчиков для достижения всего этого?
Любая подробная информация об этом действительно оценена.
1. Да, 2. Нет (что вы делаете ' ' is for), 3.Да, зависит от того, какой источник данных вы настраиваете (например, HikariCP). –