springboot整合Netty时客户端service类注入失败
原因: 在使用@Autowired注解时,要确保使用@Autowired注解的对象是Spring创建的(就是该对象也需要@Autowired注入),不能自己new 出该对象(如果自己new 出该对象则不被Spring管理,所以就不会给对象注入属性)
@AutoWired注解不能给静态成员注入属性
解决办法: 获取spring容器 ,从容器中获取要注入属性的对象;
如何在boot项目中获取Spring容器
参考博客:
(95条消息) Springboot获取IOC容器的方式_springboot获取容器_孤丨焰的博客-优快云博客
查阅博客有其他解决办法,(但是我测试还是无法注入对象):
使用@Component注解,将该类交由Spring管理
-
声明该类的静态成员
-
private static *Handler *handler;
-
构建该类的无参构造
-
public *Handler(){ }
-
使用@PostConstruct 添加时刻
-
@PostConstruct public void init(){ *handler = this; *handler.*Service = this.*Service; }
参考博客: