Netty handler无法使用@Autowired注入bean

Netty handler无法使用@Autowired注入bean

问题

Netty使用@comment注解无法注入bean,@Autowired无效。

原因

netty中无法使用注入的bean,需要主动通过getBean的方式来获取。并不是配置的问题,而是因为netty启动的时候并没有交给spring IOC托管。

解决方法

[email protected]注解

方法上加该注解会在项目启动的时候执行该方法,即spring容器初始化的时候执行,它与构造函数及@Autowired的执行顺序为:构造函数 >> @Autowired >> @PostConstruct。

我们想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于注入的bean,那么就无法在构造函数中实现,为此可以使用@PostConstruct注解一个init方法来完成初始化,该方法会在bean注入完成后被自动调用。

具体实现如图所示:
Netty handler无法使用@Autowired注入beanNetty handler无法使用@Autowired注入bean

2.spirng工具类解决

自己创建一个spirng的工具类,解决netty 服务器无法注入bean的问题。
Netty handler无法使用@Autowired注入bean
Netty handler无法使用@Autowired注入bean