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注入完成后被自动调用。
具体实现如图所示:
2.spirng工具类解决
自己创建一个spirng的工具类,解决netty 服务器无法注入bean的问题。