对于最新稳定版本,请使用 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。该类要求你提供记录地图仪接口。该实现应实现将对象映射到 POJO 的逻辑。spring-doc.cadn.net.cn

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

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