SpringBoot이 Netty를 통합할 때Handler 클래스에 서비스와 dao를 null로 주입
2117 단어 springmvcspringboot
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);
}
...
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
springmvc application/octet-stream problemmistake: Source code: Solution: Summarize: application/octet-stream is the original binary stream method. If the convers...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.