SpringBoot이 Netty를 통합할 때Handler 클래스에 서비스와 dao를 null로 주입

2117 단어 springmvcspringboot
최근 한 서버로 클라이언트 메시지를 받기 전까지 웹 개발만 접해 왔고, 서버 개발을 처음 접해 Netty를 접했지만 Netty의Handler 클래스에null로 주입됐다.
public class HttpRequestHandler extends SimpleChannelInboundHandler {
    @Autowired
    private UserRepository userRepository;
    ....
}

Repository를 주입한 후nul로 여러 가지 방법을 찾았습니다. 대신의 블로그를 참고했습니다. Spring Boot 비controller는 @Autowired 주석을 사용하여null로 주입하는 문제(@Component 주석을 추가하고 초기화 함수를 씁니다)는 여전히 무효입니다.
마지막으로https://www.cnblogs.com/s648667069/p/6489557.html라는 방법으로 다음과 같은 SpringUtil 도구 클래스를 썼습니다.
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringUtil implements ApplicationContextAware {

     private static ApplicationContext applicationContext;

        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            if(SpringUtil.applicationContext == null) {
                SpringUtil.applicationContext = applicationContext;
            }
        }

        //  applicationContext
        public static ApplicationContext getApplicationContext() {
            return applicationContext;
        }

        //  name   Bean.
        public static Object getBean(String name){
            return getApplicationContext().getBean(name);
        }

        //  class  Bean.
        public static  T getBean(Class clazz){
            return getApplicationContext().getBean(clazz);
        }

        //  name,  Clazz     Bean
        public static  T getBean(String name,Class clazz){
            return getApplicationContext().getBean(name, clazz);
        }

}
  • :
  • public class HttpRequestHandler extends SimpleChannelInboundHandler {
        private static UserRepository userRepository;
        static {
            userRepository = SpringUtil.getBean(UserRepository.class);
        }
        ...
    }

    좋은 웹페이지 즐겨찾기