JNDI是Java命名和目录接口。它用于分离应用程序 开发人员 和应用程序 部署 人员
的关注点。在编写依赖于数据库的应用程序时,无需担心用于连接该数据库的用户名或密码。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的教程。



