一.问题场景:springboot整合netty时,netty的处理类无法实例化service
二.问题解读:经过查阅资料,netty的bean对象默认不交由spring管理
三.解决方案:
![]()
@Component//1.添加注解
public class NettyServerHandler extends ChannelInboundHandlerAdapter {
private static Log log = LogFactory.getLog(NettyServerHandler.class);
@Autowired
private RedisUtils redisUtils;
//2.声明本类
private static NettyServerHandler nettyServerHandler;
//3.声明构造方案
public NettyServerHandler(){}
//4.添加注解,在项目初始化时执行这个方法
@PostConstruct
public void init() {
nettyServerHandler = this;
nettyServerHandler.redisUtils = this.redisUtils;
}
=====================================
经过以上4步骤的处理
for (Map dto : variants){
String key = dto.get("key").toString();
nettyServerHandler.redisUtils.hmset(dto.get("key").toString(),
dto, 100000);
}
//nettyServerHandler.redisUtils.hmset() 通过这种方式调用redisUtils就可以了
View Code
相关文章: