程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Mapstruct - 没有大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Mapstruct - 没有?

开发过程中遇到Mapstruct - 没有的问题如何解决?下面主要结合日常开发的经验,给出你关于Mapstruct - 没有的解决方法建议,希望对你解决Mapstruct - 没有有所启发或帮助;

我尝试自动装配我的 mapstruct 映射器:

@mapper(uses = {
                A.class,B.class,C.class
        })
public interface WindowDtoMapper {

    WindowDtoMapper INSTANCE = Mappers.getMapper(WindowDtoMapper.class);
    DetailedDto mapToDetailedDto(Window window);
    ReadDto mapToReadDto(Window window);
}

这有效:

return WindowDtoMapper.INSTANCE.mapToDetailedDto(window)

但是为什么我不能使用:

@requiredArgsConstructor
public class AAA(){
private final WindowDtoMapper windowDtoMapper;


windowDtoMapper.mapToDetailedDto(window)
}

我收到以下错误:

原因: org.springframework.beans.factory.NoSuchBeanDeFinitionException:否 符合类型的 bean 'pl.comp.window.application.mapper.WindowDtoMapper' 可用: 预计至少有 1 个 bean 有资格作为自动装配候选者。 依赖注解:{} at org.springframework.beans.factory.support.Defaultlistablebeanfactory.raiseNoMatchingBeanFound(Defaultlistablebeanfactory.java:1717) 在 org.springframework.beans.factory.support.Defaultlistablebeanfactory.doResolveDependency(Defaultlistablebeanfactory.java:1273)

也许我应该继续使用第一个可行的解决方案?是不是不好的解决方案?

解决方法

默认情况下,MapStruct 生成普通的 Java 类,仅此而已。 Spring 无法知道您希望这些是 bean。

如 the MapStruct documentation 中所述,您可以使用 @mapper(componentModel = "spring") 让 MapStruct 将 @Component 放在它创建的类上(您需要确保带有映射器的包正在获取组件扫描)。

大佬总结

以上是大佬教程为你收集整理的Mapstruct - 没有全部内容,希望文章能够帮你解决Mapstruct - 没有所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:-没有