我正在学习网站的Java和Spring。有几次我看到了JNDI这个词。它是什么?我需要学习它还是在构建web应用程序的过程中需要它?
发布于 2011-02-26 21:40:39
JNDI是一种方便的方式,让应用程序说“我需要资源X”,并让容器(例如Tomcat)说“资源X是可用的,看看这里或那里X的实际配置”。
例如,你可以使用上面的机制来避免在你的代码中硬编码数据库属性。您可以通过配置文件来实现相同的目的,但是某些上下文(例如:.war文件)配置文件在重新部署之间不会持久保存,因此它们不是一个选项。
绑定到JNDI的很好的例子是数据库数据源、对SMTP电子邮件服务器的引用、安全领域等等。
可以将JNDI看作是一个HashMap
,其中String
是一个键,值是一个具体的对象,或者是同一结构的另一个HashMap
。因此,定位像jndi://a/b
这样的值将解析到顶级映射,找到关键的a
,并期望它的值是另一个映射。然后,将在该子映射中查找键b
,并将相关值返回给用户。
发布于 2011-02-12 08:31:53
Java命名和目录接口(JNDI)是用于目录服务的Java API,它允许Java软件客户端通过名称发现和查找数据和对象。与所有与主机系统交互的Java一样,JNDI独立于底层实现。也许你可以使用它,但我从来没有试过!
https://stackoverflow.com/questions/4977123
复制相似问题