如果可能,如何举例说明如何实现JNDI的用法?

最佳答案

JNDI是Java命名和目录接口(interface)。它用于分离应用程序开发人员和应用程序部署人员的关注点。在编写依赖于数据库的应用程序时,您无需担心用于连接该数据库的用户名或密码。 JNDI允许开发人员为数据库命名,并依靠部署者将该名称映射到数据库的实际实例。

例如,如果您要编写在Java EE容器中运行的代码,则可以编写此代码来获取JNDI名称为“Database”的数据源:


DataSource dataSource = null;
try
{
    Context context = new InitialContext();
    dataSource = (DataSource) context.lookup("Database");
}
catch (NamingException e)
{
    // Couldn't find the data source: give up
}

请注意,这里没有关于数据库驱动程序,用户名或密码的任何信息。那是在容器内部配置的。

JNDI不限于数据库(JDBC);各种服务都可以命名。有关更多详细信息,您应该查看Oracle的tutorial

关于java - JNDI的目的是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1350816/

10-11 10:35