对于最新稳定版本,请使用 Spring LDAP 4.0.0spring-doc.cadn.net.cn

LDIF解析

LDAP目录交换格式(LDIF)文件是描述平面文件格式目录数据的标准媒介。该格式最常见的用途包括信息传输和归档。然而,该标准也定义了一种描述扁平文件格式对存储数据修改的方法。这种后期类型的LDIF通常被称为变型修改LDIF。spring-doc.cadn.net.cn

org.springframework.ldap.ldifpackage 提供了解析 LDIF 文件并将其反序列化为有形对象所需的类。这Ldif解析器是 的主类org.springframework.ldap.ldif能够解析符合RFC 2849的文件。该类读取资源中的行并将它们组装成Ldap属性对象。spring-doc.cadn.net.cn

Ldif解析器目前忽略了 changetype LDIF 的条目,因为它们在应用上下文中的实用性尚未确定。

对象表示

两级org.springframework.ldap.corepackage 提供了用代码表示 LDIF 的方法:spring-doc.cadn.net.cn

  • Ldap属性:延伸javax.naming.directory.BasicAttribute增加了对 RFC2849 中定义的 LDIF 选项的支持。spring-doc.cadn.net.cn

  • Ldap属性:延伸javax.naming.directory.BasicAttributes增加了对DN的专业支持。spring-doc.cadn.net.cn

Ldap属性对象表示选项为Set<String>. DN支持增加了Ldap属性对象使用javax.naming.ldap.LdapName类。spring-doc.cadn.net.cn

解析器

解析 器接口为运行提供了基础,并采用了三种支持策略定义:spring-doc.cadn.net.cn

这些接口的默认实现如下:spring-doc.cadn.net.cn

这四个类共同逐行解析资源,并将数据转换为Ldap属性对象。spring-doc.cadn.net.cn

分离者政策决定从源文件读取的每行应如何解释,因为LDIF规范允许属性跨越多行。默认策略根据行的读取顺序评估行,以确定所考虑行的性质。控制属性和变更类型记录被忽略。spring-doc.cadn.net.cn

DefaultAttributeValidationPolicy使用正则表达式确保每个属性在解析后符合有效的属性格式(根据RFC 2849)。如果属性验证失败,则InvalidAttributeFormatException被记录,且跳过记录(解析器返回)).spring-doc.cadn.net.cn

模式验证

通过以下方式,可以通过规范接口org.springframework.ldap.schema包。 这默认模式规范不进行任何验证,适用于已知有效且无需检查的记录。此选项避免了验证带来的性能损失。 这BasicSchemaSpecification应用基本检查,如确保已提供DN和对象类声明。目前,验证实际模式需要实现规范接口。spring-doc.cadn.net.cn

春季批积分

虽然Ldif解析器任何需要解析LDIF文件的应用程序都可以使用,Spring提供一个批处理框架,提供多种用于解析分隔文件(如CSV)的文件处理工具。 这org.springframework.ldap.ldif.batch软件包提供使用所需的类Ldif解析器作为 Spring Batch 框架中的一个有效配置选项。该软件包包含五个类。它们共同提供三种基本用例:spring-doc.cadn.net.cn

第一个用例是通过实现的Ldif读者. 本课程延续了Spring Session的摘要、物品计数、物品流、物品阅读器并实现其资源意识物品阅读器流. 它自然地融入了框架,你可以用它来阅读Ldap属性文件中的对象。spring-doc.cadn.net.cn

你可以使用地图Ldif阅读器直接映射到任意 POJO 的 LDIF 对象。该类要求你提供记录地图仪接口。 该实现应实现将对象映射到 POJO 的逻辑。spring-doc.cadn.net.cn

你可以实现记录回调处理程序并将实现提供给任一读者。您可以使用该处理程序对跳过的记录进行作。更多信息请参见 Spring Batch API 文档spring-doc.cadn.net.cn

这个包裹的最后一个成员,是Ldif聚合器可以使用 来将 LDIF 记录写入文件。该类调用toString()方法Ldap属性对象。spring-doc.cadn.net.cn