我正在为网站学习 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/