Selaa lähdekoodia

refactor(environment-hj212-service): 重构 ServerHandler 类- 移除了对 SpringContextUtil 类的依赖
- 使用 @Autowired 注解直接注入 MonitorDatasynch Bean
- 添加了 @PostConstruct 注解的 init() 方法进行初始化- 创建了静态的 serverHandler 实例用于全局访问

林仔 1 vuosi sitten
vanhempi
commit
1815ee8858

+ 9 - 5
environment-hj212-service/src/main/java/com/zksy/environmentHJ212/config/ServerHandler.java

@@ -1,7 +1,6 @@
 package com.zksy.environmentHJ212.config;
 
 import com.zksy.environmentHJ212.utils.MonitorDatasynch;
-import com.zksy.environmentHJ212.utils.SpringContextUtil;
 import io.netty.buffer.ByteBuf;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.ChannelInboundHandlerAdapter;
@@ -9,16 +8,21 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.PostConstruct;
 import java.time.LocalDateTime;
 
 @Slf4j
 @Component
 public class ServerHandler extends ChannelInboundHandlerAdapter {
+    private static ServerHandler serverHandler;
+
     @Autowired
     private MonitorDatasynch monitorDatasynch;
-
-    public ServerHandler() {
-        this.monitorDatasynch = SpringContextUtil.getBean(MonitorDatasynch.class);
+    @PostConstruct
+    public void init() {
+        log.info("init()方法");
+        serverHandler = this;
+        serverHandler.monitorDatasynch = this.monitorDatasynch;
     }
 
     /**
@@ -76,7 +80,7 @@ public class ServerHandler extends ChannelInboundHandlerAdapter {
             String msg = new String(req);
             System.out.println(msg+"==============");
             log.info("==========数据已接收,接收时间:==========" + LocalDateTime.now());
-            String pushMonitorDataStr = monitorDatasynch.pushMonitorData(channelHandlerContext,msg);
+            String pushMonitorDataStr = serverHandler.monitorDatasynch.pushMonitorData(channelHandlerContext,msg);
         } catch (Exception e) {
             log.info("==========数据入库失败==========");
             e.printStackTrace();

+ 0 - 21
environment-hj212-service/src/main/java/com/zksy/environmentHJ212/utils/SpringContextUtil.java

@@ -1,21 +0,0 @@
-package com.zksy.environmentHJ212.utils;
-
-import org.springframework.beans.BeansException;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationContextAware;
-import org.springframework.stereotype.Component;
-
-@Component
-public class SpringContextUtil implements ApplicationContextAware {
-
-    private static ApplicationContext applicationContext;
-
-    @Override
-    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
-        SpringContextUtil.applicationContext = applicationContext;
-    }
-
-    public static <T> T getBean(Class<T> clazz) {
-        return applicationContext.getBean(clazz);
-    }
-}