java - JNDI是什么,建站需要用到它吗

标签 java jndi

我正在为网站学习 Java 和 Spring。有几次我看到 JNDI 这个词。 它是什么,我需要学习它还是在构建 Web 应用程序的过程中需要它?

最佳答案

JNDI 是应用程序说“我需要资源 X”和容器(例如 Tomcat)说“资源 X 可用,看看这里或那里实际配置了 X”的便捷方式。

您可以使用上述机制来避免,例如,在您的代码中硬编码数据库属性。您可以通过配置文件实现相同的目的,但某些上下文(例如:.war 文件)配置文件不会在重新部署之间保留,因此它们不是一个选项。

数据库数据源、对 SMTP 电子邮件服务器的引用、安全领域等是关于绑定(bind)到 JNDI 的很好的例子。

将 JNDI 视为 HashMap,其中键是 String,值是具体对象或具有相同结构的另一个 HashMap。因此,定位像 jndi://a/b 这样的值将解析为转到顶级映射,找到键 a 并期望它的值是另一个映射。然后将在该子图中查找键 b 并将相关值返回给用户。

关于java - JNDI是什么,建站需要用到它吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4977123/

相关文章:

java - 什么是NullPointerException,我该如何解决?

java - 按键获取GAE实体

java - 使用 JNDI 为 Hibernate 注册 MySQL 数据源

java - 未使用 tomcat jndi ldap userSearchAsUser

tomcat - c3p0 池化连接幻象连接

java - java数组排序类

java - 为什么我的不同排序算法会导致相同的运行时间?

jax-ws - @EJB 注入(inject)失败,但 JNDI 查找在 Glassfish 的 Web 服务类中有效

java - JNDI 查询返回到 LDAP 服务器的名称中的正斜杠

java - 具有公共(public) IP 地址的 DatagramSocket