🍅 作者简介:哪吒,CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪
🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师
🍅 关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、大厂面试真题、加入万粉计划交流群、一起学习进步
目录
一、前言
SpringBoot集成mybatis, 一般项目起步阶段在启动类中进行接口测试还是很方便的,因此在SpringBoot中就会注入service,但是总是null,注入失败,什么原因呢?
1、在应用的Filter或Listener中使用了@Autowired
原因:因为Filter和Listener加载顺序优先于spring容器初始化实例,所以使用@Autowired肯定为null了~~
2、继承Thread或实现Runnable的类中用@Autowired进行service注入时,在类上添加@Component后,运行程序,会报错,提醒注入冲突,需要一个,却发现了三个。
原因:因为Thread类因为要创建线程,线程类会不断的被加载,违反了Spring容器内对象单一的原则,所以Thread的子类无法进行@Compnent注入,因此通过@Autowired获取service。
【解决方法】
用ApplicationConte