78.14. Spring Boot Auto-Configuration
当在 Spring Boot 中使用 jaxb 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-jaxb-starter</artifactId> </dependency>
组件支持 20 个选项,如下所列。
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
camel.dataformat.jaxb.content-type-header | 数据格式是否应使用数据格式的类型设置 Content-Type 标头。例如,用于数据格式的 application/xml 例如,marshalling 到 XML,对于数据格式为 JSON,application/json 用于数据格式。 | true | 布尔值 |
camel.dataformat.jaxb.context-path | JAXB 类所在的软件包名称。 | 字符串 | |
camel.dataformat.jaxb.context-path-is-class-name | 这可以设置为 true 来标记 contextPath 引用 classname 而不是软件包名称。 | false | 布尔值 |
camel.dataformat.jaxb.enabled | 是否启用 jaxb 数据格式的自动配置。这默认是启用的。 | 布尔值 | |
camel.dataformat.jaxb.encoding | 要覆盖rule 并使用特定的编码。 | 字符串 | |
camel.dataformat.jaxb.filter-non-xml-chars | 要忽略非 xml characheters,并使用空空间替换它们。 | false | 布尔值 |
camel.dataformat.jaxb.fragment | 打开 marshalling XML 片段树。默认情况下,B 在给定类上查找 XmlRootElement 注释,以便在整个 XML 树上运行。这很有用,但并不总是 - 有时生成的代码没有 XmlRootElement 注解,有时您只需要对树的一部分进行 unmarshall 部分。在这种情况下,您可以使用部分 unmarshalling。要启用此功能,您需要设置属性 partClass。Camel 会将此类传递到 JAXB 的 unmarshaler。 | false | 布尔值 |
camel.dataformat.jaxb.ignore-j-a-x-b-element | 是否忽略 JAXBElement 元素 - 只需要在非常特殊用例中将 JAXBElement 元素设置为 false。 | false | 布尔值 |
camel.dataformat.jaxb.jaxb-provider-properties | 指的是一个自定义 java.util.Map,用于在包含 JAXB marshaller 的自定义 JAXB 提供程序属性的 registry 中查找。 | 字符串 | |
camel.dataformat.jaxb.must-be-j-a-x-b-element | marhsalling 必须是带有 JAXB 注解的 java 对象。如果没有,则会失败。这个选项可以设置为 false 以放松,例如当数据已采用 XML 格式时。 | false | 布尔值 |
camel.dataformat.jaxb.namespace-prefix-ref | 当使用 JAXB 或 SOAP 进行 marshalling 时,JAXB 实施将自动分配命名空间前缀,如 ns2、ns3、ns4 等。要控制此映射,Camel 允许您引用包含所需映射的映射。 | 字符串 | |
camel.dataformat.jaxb.no-namespace-schema-location | 定义无命名空间模式的位置。 | 字符串 | |
camel.dataformat.jaxb.object-factory | 是否允许使用 ObjectFactory 类在 marshalling 期间创建 POJO 类。这只适用于尚未使用 JAXB 注解并提供 jaxb.index 描述符文件的 POJO 类。 | false | 布尔值 |
camel.dataformat.jaxb.part-class | 用于片段解析的类名称。请参阅 slice 选项的详情。 | 字符串 | |
camel.dataformat.jaxb.part-namespace | 用于片段解析的 XML 命名空间。请参阅 slice 选项的详情。 | 字符串 | |
camel.dataformat.jaxb.pretty-print | 以格式方式启用用户友善打印输出。默认为 false。 | false | 布尔值 |
camel.dataformat.jaxb.schema | 针对现有模式进行验证:您可以使用前缀 classpath:, file: 或 http: 指定资源应该如何解析。您可以使用 ',' 字符分隔多个架构文件。 | 字符串 | |
camel.dataformat.jaxb.schema-location | 定义模式的位置。 | 字符串 | |
camel.dataformat.jaxb.schema-severity-level | 设置在针对模式验证时要使用的模式严重性级别。此级别决定了触发 JAXB 停止继续解析的最低严重性错误。默认值为 0 (warning)表示任何错误(警告、错误或严重错误)将触发 JAXB 以停止。有三个级别: 0=warning, 1=error, 2=fatal 错误。 | 0 | 整数 |
camel.dataformat.jaxb.xml-stream-writer-wrapper | 使用自定义 xml 流写入器。 | 字符串 |