Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mapper的Mapstruct原型_Java_Spring_Mapper_Mapstruct_Stereotype - Fatal编程技术网

Java Mapper的Mapstruct原型

Java Mapper的Mapstruct原型,java,spring,mapper,mapstruct,stereotype,Java,Spring,Mapper,Mapstruct,Stereotype,我使用的是Spring,我从项目中的mapstruct库开始,所以我有了一个想法,为@Mapper(componentModel=“Spring”)创建原型注释,比如@SpringMapper。但它不会生成任何映射器 这是不可能的,还是我做错了什么?这是一个非常有趣的想法,但目前不受支持。MapStruct注释处理器仅查找@Mapper注释,即它将被调用用于@SpringMapper的定义,但不用于使用@SpringMapper注释的任何bean 也就是说,MapStruct通过以下方式提供了自

我使用的是Spring,我从项目中的mapstruct库开始,所以我有了一个想法,为@Mapper(componentModel=“Spring”)创建原型注释,比如@SpringMapper。但它不会生成任何映射器


这是不可能的,还是我做错了什么?

这是一个非常有趣的想法,但目前不受支持。MapStruct注释处理器仅查找
@Mapper
注释,即它将被调用用于
@SpringMapper
的定义,但不用于使用
@SpringMapper
注释的任何bean

也就是说,MapStruct通过以下方式提供了自己的配置重用方法:

将所有常见选项(如组件模型)放入此类配置类,然后从各个映射器中引用它:

@Mapper(config=SpringMappers.class)
public interface MyMapper {
    //...
}
谢谢你的回答

maven的另一个可能解决方案是: 以下maven插件将设置默认(项目范围)componentModel=spring和UnappedTargetPolicy=ERROR

 <properties>
        <java.version>1.8</java.version>
        <org.mapstruct.version>1.1.0.Final</org.mapstruct.version>
    </properties>


    <dependencies>
         <dependency>
              groupId>org.mapstruct</groupId>
              <artifactId>mapstruct-jdk8</artifactId>
              <version>${org.mapstruct.version}</version>
            </dependency>
    </dependencies>

    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <encoding>UTF-8</encoding>
                        <showDeprecation>true</showDeprecation>
                        <showWarnings>true</showWarnings>
                        <debug>true</debug>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.bsc.maven</groupId>
                    <artifactId>maven-processor-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <defaultOutputDirectory>
                            ${project.build.directory}/generated-sources
                        </defaultOutputDirectory>
                        <processors>
                            <processor>org.mapstruct.ap.MappingProcessor</processor>
                        </processors>
                        <options>
                            <mapstruct.defaultComponentModel>spring</mapstruct.defaultComponentModel>
                            <mapstruct.unmappedTargetPolicy>ERROR</mapstruct.unmappedTargetPolicy>
                        </options>
                    </configuration>
                    <executions>
                        <execution>
                            <id>process</id>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>process</goal>
                            </goals>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>${org.mapstruct.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>

1.8
1.1.0.1最终版本
groupId>org.mapstruct
mapstruct-jdk8
${org.mapstruct.version}
org.apache.maven.plugins
maven编译器插件
3.5.1
${java.version}
${java.version}
UTF-8
符合事实的
符合事实的
符合事实的
org.bsc.maven
maven处理器插件
3.2.0
${project.build.directory}/生成的源
org.mapstruct.ap.MappingProcessor
春天
错误
过程
生成源
过程
org.mapstruct
mapstruct处理器
${org.mapstruct.version}
 <properties>
        <java.version>1.8</java.version>
        <org.mapstruct.version>1.1.0.Final</org.mapstruct.version>
    </properties>


    <dependencies>
         <dependency>
              groupId>org.mapstruct</groupId>
              <artifactId>mapstruct-jdk8</artifactId>
              <version>${org.mapstruct.version}</version>
            </dependency>
    </dependencies>

    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <encoding>UTF-8</encoding>
                        <showDeprecation>true</showDeprecation>
                        <showWarnings>true</showWarnings>
                        <debug>true</debug>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.bsc.maven</groupId>
                    <artifactId>maven-processor-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <defaultOutputDirectory>
                            ${project.build.directory}/generated-sources
                        </defaultOutputDirectory>
                        <processors>
                            <processor>org.mapstruct.ap.MappingProcessor</processor>
                        </processors>
                        <options>
                            <mapstruct.defaultComponentModel>spring</mapstruct.defaultComponentModel>
                            <mapstruct.unmappedTargetPolicy>ERROR</mapstruct.unmappedTargetPolicy>
                        </options>
                    </configuration>
                    <executions>
                        <execution>
                            <id>process</id>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>process</goal>
                            </goals>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>${org.mapstruct.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>