首页 新闻 搜索 专区 学院

springboot 包扫描问题

0
悬赏园豆:5 [待解决问题]

项目使用了springboot + mybatis 框架,使用了mybatis的generator生成代码,其中xxxMapper接口不能被spring管理,需要在启动类上面加@MapperScan("*")注解。为什么其他层的注解就能识别到,但是写在mapper类上的注解就要特别声明路径呢?

沙漠旅途的主页 沙漠旅途 | 初学一级 | 园豆:197
提问于:2018-07-02 15:12
< >
分享
所有回答(3)
0

感觉是mybatis框架自己要求的,MapperScan注解在org.mybatis.spring.annotation这个包下面,作用是Use this annotation to register MyBatis mapper interfaces when using Java Config.

JeffWong | 园豆:2021 (老鸟四级) | 2018-07-02 16:00
0

springboot会自动扫描@SpringBootApplication所在类的同级包及下级包里的bean,你的mapper应该不在这个范围吧?

晨之风 | 园豆:391 (菜鸟二级) | 2018-07-05 08:42

是在这个范围

支持(0) 反对(0) 沙漠旅途 | 园豆:197 (初学一级) | 2018-07-05 09:04
0

因为service层你要加上 @service , contrller层你要加上@controller  这两个注解都是在springboot运行时将所在类加载进ioc容器中,所以mapper接口层你也要加载进ioc容器中,就用到了@mapperscan这个注解,扫描dao层

番茄先生 | 园豆:911 (小虾三级) | 2018-07-05 14:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册