Пишут, что JNDI нужен для того, чтобы мы могли из Java-кода получить Java-объект из некоторой "Регистратуры" объектов по имени объекта, привязанного к этому объекту. В Спринге есть подобный механизм (Dependency lookup) где мы можем аналогично получать объект по его имени. Зачем тогда нужен JNDI ?
JNDI это API из стандартной библиотеки. Этот API был создан еще в 1997 году за 5 лет до того, как появилась первая версия spring в 2002. Далеко не все проекты используют spring, и нужен стандартный способ регистрации и поиска ресурсов. JNDI как раз и предоставляет такую возможность.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей