大佬教程收集整理的这篇文章主要介绍了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,请注明来意。