问题:SpringBoot中,service层使用@Autowired自动注入时,mapper标红
-
一.为什么会标红?
- 我们使用的@Mapper和@MapperScan并不是spring框架的注解,未在spring容器中注册为bean;
-
解决方法:
- 使用@Resource代替@Autowired注解,根据类型注入改为根据名称注入;
- 将注解@Autowired 改为(@Autowired(required = false)),表示注入时,自动注入的类为非必须;
@Autowired(required = false) private UserMapper userMapper;
- Setting -> Inspections -> 搜索spring bean,找到Spring Bean Autowired,把红色(Error)修改为黄色(Warning);
-
问题解决~~~