我必须使用一个组件,即Netty服务器类。
我将该类标记为组件,并且尝试从该对象使用时,我编写了一个通过自动连线注释标记的字段。
我通过我的代码的一些地方检查此字段,作为我的应用程序通过containsbean方法的示例主要方法。
此方法返回null !!!
我的代码是:
@SpringBootApplication
@ComponentScan(value = "com.brtech.*")
public class UapApplication {
@Autowired
private static NettyServer nettyServer;
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(UapApplication.class, args);
System.out.println(context.containsBean("serverbean"));
}
}
@Component("serverbran")
public class NettyServer extends Thread {}
答案 0 :(得分:0)
我想问题很明显-拼写。检查bean名称:它被声明为“ serverbran”,并且您正在询问未声明的“ serverbean”的上下文。
您的代码的另一个问题是@Autowired
不适用于static
字段,因此此处不会进行注入。