我从以下来源下载了应用程序https://github.com/springframeworkguru/spring5-mvc-rest/tree/vendor-api,但Mapstruct遇到了问题。
@Mapper
public interface CategoryMapper {
CategoryMapper INSTANCE = Mappers.getMapper(CategoryMapper.class);
CategoryDTO categoryToCategoryDTO(Category category);
@Data
public class CategoryDTO {
private Long id;
private String name;
}
@Data
@Entity
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
}
@Service
public class CategoryServiceImpl implements CategoryService {
private final CategoryMapper categoryMapper;
private final CategoryRepository categoryRepository;
public CategoryServiceImpl(CategoryMapper categoryMapper, CategoryRepository categoryRepository) {
this.categoryMapper = categoryMapper;
this.categoryRepository = categoryRepository;
}
}
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<org.mapstruct.version>1.2.0.CR2</org.mapstruct.version>
</properties>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<compilerArg>
-Amapstruct.defaultComponentModel=spring
</compilerArg>
</compilerArgs>
</configuration>
</plugin>
Parameter 0 of constructor in
guru.springfamework.services.CategoryServiceImpl required a bean of type 'guru.springfamework.api.v1.mapper.CategoryMapper' that could not be found.
Consider defining a bean of type 'guru.springfamework.api.v1.mapper.CategoryMapper' in your configuration.
我认为在Intellij注释中@mapper不为mapper创建bean。我没有改变John GitHub的代码。你知道吗?我试图将生成的路径源更改为目标,但这没有帮助,谢谢你的帮助。
我通过做来解决这个错误
>
还将此添加到您的pom中
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
</annotationProcessorPaths>
<compilerArgs>
<compilerArg>
-Amapstruct.defaultComponentModel=spring
</compilerArg>
</compilerArgs>
</configuration>
</plugin>
问题内容: 注释如何与Java一起使用?以及如何创建这样的自定义注释: 基本上,我需要保留的POJO在持久化时像这样进行序列化: 这样,实际的生成/持久对象是这样的: 任何想法如何实现这一点? 问题答案: 如果创建自定义注释,则必须使用此处的 API 示例进行处理。您可以参考如何声明注释。 这是Java中的示例注释声明的样子。 并被称为。 表示您想在运行时保留注释,并且可以在运行时访问它。 表示您
我的一个Mapstruct映射器没有使用另一个映射器与 我们的将实体映射到DTO。一个包含一个属性,我正在尝试从该属性映射到一个DTO。 因此,问题在于嵌套对象,即到。 以下是源代码: 从ValidationSupport NeedMapper.java: 来自ActivityMapper.java: 来自ValidationSupportNeedEntity.java(实体) 来自Validat
mapstruct如何在以下方法之间做出决定: > 使用source的getter获取所有参数,然后调用目标的构造函数来创建映射。 使用所有空参数调用目标的构造函数,然后使用setter设置每个参数。 第二种方法可能是 这是目标对象类的样子。
问题内容: 我正在尝试做一些Java注释魔术。我必须说,我仍在追赶注释技巧,并且某些事情对我来说还不太清楚。 所以…我有一些带注释的类,方法和字段。我有一个方法,它使用反射对类进行一些检查并将一些值注入到类中。这一切都很好。 但是,我现在面临的情况是我需要一个注释实例(可以这么说)。所以…批注与常规接口不同,您不能对类进行匿名实现。我知道了。我在这里浏览了有关类似问题的一些帖子,但似乎无法找到所需
我在代码中使用Lombok自动生成getter和setter代码。我想添加其他个人注释并使用它。 例如,我想添加一个方法来验证列表中是否存在一个键: 创建注释后,我将执行以下操作:
我有Android Studio 3.1.2 我有Kotlin 1.2.41-release-Studio3。1-1. ,我只使用kotlin kapt: 我的事件日志显示0个警告/错误: 这是输出: 我已经完成了所有的清理和重建工作。有一些警告,但与kapt无关。我可以先解决这些问题吗?