java - 下面的配置是什么意思(jaxb-fluent-api)?

标签 java web-services spring jaxb jax-ws

我的 POM 文件中有以下配置。特别是 jaxb-fluent-api 配置。

<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <configuration>
        <extension>true</extension>
        <args>
            <arg>-Xfluent-api</arg>
        </args>
        <schemaDirectory>src/main/resources</schemaDirectory>
        <plugins>
            <plugin>
                <groupId>net.java.dev.jaxb2-commons</groupId>
                <artifactId>jaxb-fluent-api</artifactId>
                <version>2.1.8</version>
            </plugin>
        </plugins>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
</plugin>

无需配置 jaxb-fluent-api 实体就可以从 xsd 生成。这里有哪些使用 jaxb-fluent-api 的好处

谢谢!

最佳答案

jaxb-fluent-api是一个 JAXB 扩展,允许您以流畅的 api 风格生成代码。现在,fluent api 是一种设计类方法的方法,因此它们总是返回 this 而不是 void

project wiki 上有一个很好的例子(为简洁起见,我将其缩短了一点,请访问 the site 查看完整示例):

正常的 JAXB 生成的代码必须像这样使用:

Project project = factory.createProject();

project.setModelVersion("4.0.0");
project.setGroupId("redmosquito")
project.setArtifactId("jaxb-fluent-api-ext")
project.setPackaging("jar")
project.setVersion("0.0.1")
project.setName("JAXB Fluent API Extensions");

使用 jaxb-fluent-api 扩展,您可以像这样编写上面的代码:

Project project = factory.createProject()
    .withModelVersion("4.0.0");
    .withGroupId("redmosquito")
    .withArtifactId("jaxb-fluent-api-ext")
    .withPackaging("jar")
    .withVersion("0.0.1")
    .withName("JAXB Fluent API Extensions");

这基本上就是 fluent api 的全部内容。

关于java - 下面的配置是什么意思(jaxb-fluent-api)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11190497/

相关文章:

持续运行的 C# 代码 - 服务还是单独的线程?

Java Webservice 向 .net 客户端返回空对象

java - Spring:无法 Autowiring 字段 - 找不到类型的 bean

java - Spring Integration Bridge 注解配置导致 BeanCurrentlyInCreationException

java - 意外绑定(bind)

java - 子类中的方法可以重载父类(super class)中的方法吗?

c# - 使用 restful wcf 将图像发送到 android 应用程序

java - 在 Spring 中将 .jsp 映射到 Controller

java - 如何在 Android 11 中禁用夜间模式?

java - 是否有在 Java 中编写 map 文字样式的最佳实践?