component对象为null,此对象由自动装配注释使用

时间:2019-01-21 06:39:28

标签: java spring-boot

我必须使用一个组件,即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 个答案:

答案 0 :(得分:0)

我想问题很明显-拼写。检查bean名称:它被声明为“ serverbran”,并且您正在询问未声明的“ serverbean”的上下文。 您的代码的另一个问题是@Autowired不适用于static字段,因此此处不会进行注入。