Spring - это простой Java-код.Это не чёрная магия.
Использование resource-ref
является хорошей практикой, поскольку позволяет использовать имя, локальное для веб-приложения, вместо использования глобального имени, общего для всех веб-приложений в контейнере.
Предположим, что вы хотите развернуть две разные версии одного и того же приложения в одном и том же контейнере, и обе используют одно и то же глобальное имя JNDI.Теперь они вынуждены использовать одну и ту же базу данных, что неправильно.Принимая во внимание, что если вы используете локальное имя, объявленное в файле web.xml, вы можете связать каждую версию с ее собственным глобальным именем, и, таким образом, обе версии используют две разные базы данных.
То же самое происходит, если вы развертываете двесовершенно разные приложения, и оба случайно используют одно и то же глобальное имя jdbc/OracleDS
.