JNDI 是一种从字符串名称中检索/存储数据或对象的方法。此功能由运行应用程序的容器提供。
ApplicationContext
允许从它们的字符串名称创建和检索 bean。
两者都满足相似的需求。然而,Spring 提供了从 JNDI 检索对象的方法。也可以通过JndiTemplate
.
在 Spring 中是否真的需要使用 JNDI?它解决了哪些问题没有解决ApplicationContext
?
JNDI 是一种从字符串名称中检索/存储数据或对象的方法。此功能由运行应用程序的容器提供。
ApplicationContext
允许从它们的字符串名称创建和检索 bean。
两者都满足相似的需求。然而,Spring 提供了从 JNDI 检索对象的方法。也可以通过JndiTemplate
.
在 Spring 中是否真的需要使用 JNDI?它解决了哪些问题没有解决ApplicationContext
?
Application Context 不会帮助您查找 REMOTE 对象。它只会在当前应用程序中查找不是远程的对象。
请参阅以下“Context.PROVIDER_URL”。您可以访问远程对象,例如 EJB 或 RMI 或 JMS 等。此外,您可以访问由 Java EE 容器管理的任何资源,例如数据源。
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://HOSTNAME:PORT");
这是范围的问题。Spring 的范围仅限于您在其容器内的应用程序。JNDI 是一个全局命名 API,可以插入到许多不同的命名/目录架构中。