我正在为网站学习Java和Spring.我有几次看到JNDI这个词.
它是什么,我需要学习它还是在构建Web应用程序的过程中需要它?
解决方法:
JNDI是应用程序说“我需要资源X”和容器(例如Tomcat)说“资源X可用,在这里或那里实际配置X”的便捷方式.
您可以使用上述机制来避免,例如,在代码中硬编码数据库属性.您可以通过配置文件来实现相同的目的,但是在重新部署之间不会保留某些上下文(例如:.war文件)配置文件,因此它们不是一个选项.
关于JNDI绑定内容的好例子是数据库数据源,对SMTP电子邮件服务器的引用,安全领域等.
将JNDI视为HashMap,其中key是String,value是具体对象或同一结构的另一个HashMap.因此,找到像jndi:// a / b这样的值将决定转到*地图,找到关键字a并期望它的值是另一个地图.然后在该子图中查找键b,并将相关值返回给用户.