springboot @Autowired注入失败原因总结
2020-10-19 本文已影响0人
前进的码农
检查@ComponentScan
查看basePackages的包名,看@Autowired注入的依赖,以及注入的类是否在
该包名下。spring只会扫描basePackages做在的包。把相关配置和依赖纳入容易。默认不写的话为包名为springboot启动类Applications所在包
检查@Autowired和它注入的类的注解
是否包含@Component,@Service,@Repository,@Controller注解如果不包含则这些类就不会被纳入spring容器
检查@Autowired注入类使用的方法是否为private
如果为private的话在生成动态代理的话@Autowired注入的依赖将为空。
@Autowired
IUserService userService;
@PostMapping("rigister")
private User add(@RequestBody UserAddDTO userAddDTO) {
return userService.save(userAddDTO);
}
如上这里的userService将为空