这些Java教程是针对JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并且可能使用不再可用的技术。
请参阅Java语言变化了解Java SE 9及后续版本中更新的语言特性的摘要。
请参阅JDK发布说明了解所有JDK版本的新功能、增强功能以及已删除或已弃用选项的信息。
Context接口包含了在上下文中添加、替换和删除绑定的方法。
Context.bind()用于向上下文中添加绑定。它接受两个参数,即对象的名称和要绑定的对象。
在继续之前:本课程中的示例需要对架构进行添加。您必须在LDAP服务器中关闭架构检查或者将附带本教程的架构文件
添加到服务器中。这两个任务通常由目录服务器的管理员执行。请参阅LDAP设置课程。
// 创建要绑定的对象 Fruit fruit = new Fruit("orange"); // 执行绑定 ctx.bind("cn=Favorite Fruit", fruit);
此示例
创建了一个Fruit
类的对象,并将其绑定到上下文ctx
中的名称"cn=Favorite Fruit"
。如果您随后在ctx
中查找名称"cn=Favorite Fruit"
,则会得到fruit
对象。请注意,要编译Fruit
类,您需要FruitFactory
类。
如果您运行此示例两次,那么第二次尝试将失败并抛出NameAlreadyBoundException异常。这是因为名称"cn=Favorite Fruit"
已经绑定。要使第二次尝试成功,您需要使用rebind()方法。
rebind()用于添加或替换绑定。它接受与bind()相同的参数,但语义是,如果名称已经绑定,则将解除绑定并将新指定的对象进行绑定。
// 创建要绑定的对象 Fruit fruit = new Fruit("lemon"); // 执行绑定 ctx.rebind("cn=喜欢的水果", fruit);
要移除绑定,使用unbind()。
// 移除绑定 ctx.unbind("cn=喜欢的水果");