先说一下当时的场景
我用netty实现了udp服务端接收消息。但是接收到消息后我用springboot的异步执行但是@Autowired注入失败了。当时从网上找了很多资料一下代码是测试可用的
// 如果A类要注入B类那么需要在A类和B类类上添加注解@Component@Component
public class A {
@Autowired
private B b;
//有可能这样注入会失败 会有空指针异常
//解决办法
public static A a;
@PostConstruct //通过@PostConstruct实现初始化bean之前进行的操作
public void init() {
a = this;
a.b = this.b;
}
//用到了注入的方法
public void hello(){
a.b.he();
//采用这种方式来写
}
}@Component
public class B {
public void he(){
System.out.println("测试代码");
}
}
【springboot中非Controller中@Autowired不起作用的问题】最后测试亲测可用
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)