相关文章推荐
满身肌肉的风衣  ·  android: ...·  1 年前    · 
追风的野马  ·  java - Why is ...·  1 年前    · 

springboot @Mapper注解实现类型转换,bean无法注入,target下未自动生成beanMapper对应实现类

UserInfoBeanMapper层:
@Mapper(componentModel = “spring”)
public interface UserInfoBeanMapper {
List to(List entities);
}

用户信息查询实现类UserInfoServiceImpl:
/**
* 用户信息
*/
@Override
public List userInfoList(){
return userInfoBeanMapperImpl.to(userInfoMapper.userInfoList());
}

pom文件添加依赖:

    <!-- 对象属性复制 https://mapstruct.org/ -->
    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>${mapstruct.version}</version>
    </dependency>
    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct-processor</artifactId>
        <version>${mapstruct.version}</version>
    </dependency>

重新编译,查看target->annotations下已自动生成相应接口的实现类:
在这里插入图片描述

@Mapper注解与@MapperScan注解

2.@Mapper注解作用:
在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类
添加位置:接口类上面;

2.@MapperScan作用:
指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加;

@SpringBootApplication
@MapperScan({“com.epidemic.system.repository.mapper”})
public class SystemApplication {

	public static void main(String[] args) {
    SpringApplication.run(SystemApplication.class, args);

3.使用@MapperScan注解多个包
(实际用的时候根据自己的包路径进行修改)
@MapperScan({“com.kfit.mapper”,“org.kfit.beanMapper”})

@Mapper注解componentModel属性

The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true) Action: Consider defining a bean of type '****.SysUserMapper' in your configuration. 错误时,一般来说,都是注解无效。 引用其他大佬的 项目中的Mapper使用,整体调整了maven依赖,发现注解@Mapper 的类找不到bean,一开始以为是通用Mapper 和@Mapper 不兼容,或者mybatis-spring 和tk.mybatis 加载顺序导致的不生效问题 最终查看maven依赖,发现当前的module没有引用到mybatis,导致MybatisAutoConfiguration直接没有生效,也就没有自动完成myba... 今天在创建SpringBoot项目使用@Mapper注解时,提示无效,为此搜索了诸多解决方法,最后问题终于解决了,特此进行总结,帮助大家 原因1:缺少相应的jar包,导致@Mapper注解无效 <dependency> <groupId>org.mybatis.spring.boot</groupId> 记录一个困扰我很久的问题 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'convertFileMapper' defined in file [D:\Documents\Desktop\ending\backstage-graduation\tar... @mapper无效 我查了很多篇文章,不是写加@mapper就是加扫描地址,但是基本会加@Mapper肯定是知道这些的,而且这个无数个重复的文章我真是醉了,我是看百度知道大神评论才知道是要先加@Component才能加@Mapper,加完之后问题解决。但是我看很多视频和文章他们都是不需要加@Component就能直接运行,暂时原理还不清楚,等以后弄清楚了再说 &amp;lt;!--缺少此jar包,导致@Mapper注解无效--&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.mybatis.spring.boot&amp;lt;/groupId&amp;gt; 使用spring-boot集成mybatis时遇到了加载不到mapper类文件bean的情况,网上找了最终终于解决了,我在这里分享一下整个排查的流程并把网上哪些方法都进行一下汇总。错误截图:上面这个截图是maven install的时候报出的,大概意思就是没有可用的ArticleMapper这个bean。上面这个截图是启动boot项目时候报出的,也是说没有可用的ArticleMapper这个bea... Error creating bean with name 'com.leilei.SpringbootMpApplicationTests': Unsatisfied dependency expressed through field 'userDao': No qualifying bean of type 'com.leilei.dao.UserDao' available: expected at least 1 bean which qualifies as autowire candidate 准备做一个SpringCloud的测试,我随手建立了一个SpringBoot子工程,但是一下子Bug就出来了,找了1下午+1晚上的Bug,终于在晚上9.33解决了问题。话不多说,看代码 首先是遇到的Bug: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.iba 之后就可以创建Bean了,毕竟mp是国人写的,不能那么快的兼容springboot3.x.x,希望学习课程的同学在看到了这篇文章能够及时处理,不要阻塞进程。在学习尚硅谷的springboot+mp的时候,发现userMapperbean总是创建失败。在尝试了若干个方法后,最终终于发现,