java组件对象为空,自动连线注释使用此对象
我必须使用一个组件,这是一个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 {}
# 1 楼答案
我想问题很明显——拼写。检查bean名称:它被声明为“serverbran”,您正在询问未声明的“serverbean”的上下文。 代码的另一个问题是
@Autowired
不适用于static
字段,因此这里不会发生注入