主程序加 @componentScan + dao层加@Mapper 访问不到
主程序加@componentScan + dao层加@Component 或者
@ Component(“userDao”)访问不到
主程序加@componentScan + dao层加@Repository 或者@Repository(“userDao”) 访问不到
主程序加上 @MapperScan(“com.jay.dao”) + dao层加@Mapper 访问 到
主程序加上 @MapperScan(“com.jay.dao”) + dao层加@Component 访问 到
主程序加上 @MapperScan(“com.jay.dao”) + dao层加@Repository 或者 @ **Repository(“userDao")**访问到
总结 在主程序只加@MapperScan(“com.jay.dao”) 即可 自动扫描到dao层 并注入
但是不在dao层加 @Mapper 或 @Component 或 @Repository 就在主程序看不到以及注册了 (虽然springboot隐式扫描并注入了)
因此推荐在Dao层加上 @Mapper 或 @Repository
由此并引发一个问题:
@MapperScan和@ComponentScan的区别
spring的@MapperScan和@ComponentScan的区别
Spring Boot常用注解简单整理(包括:@ComponentScan、@MapperScan、@Controller、@RequestMapping、@Autowired、@Repositor等
java.lang.NoSuchMethodError: org.springframework.core.ResolvableType.forInstance 错误解决
个人认为是 看注解名字 @ComponentScan它确实是扫描到了 但是只是知道他是个一Component但并不知道它在web项目中起dao层的作用
而@MapperScan的话 看名字 就觉得他是按照scan Mapper层的方式 不仅扫描到了 而且注入成功为dao层
欢迎讨论。。。