Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java springbootbean初始化顺序_Java_Spring_Spring Boot - Fatal编程技术网

Java springbootbean初始化顺序

Java springbootbean初始化顺序,java,spring,spring-boot,Java,Spring,Spring Boot,我使用SpringBoot来开发一个简单的RESTAPI,但我一直坚持spring的命令来初始化应用程序的bean。如何控制应用程序中bean初始化的顺序 我使用的是spring boot 2.1.7,问题是spring试图在ContactRestController依赖的某个服务之前初始化ContactRestController,因此它最终在ContactRestController的构造函数中出现NullPointerException: @RestController public cl

我使用SpringBoot来开发一个简单的RESTAPI,但我一直坚持spring的命令来初始化应用程序的bean。如何控制应用程序中bean初始化的顺序

我使用的是spring boot 2.1.7,问题是spring试图在ContactRestController依赖的某个服务之前初始化ContactRestController,因此它最终在ContactRestController的构造函数中出现NullPointerException:

@RestController
public class ContactRestController {
    @Autowired
    private SomeService ;
   // no-args constructor 

    public ContactRestControlle(){
       this.someService.doStuff() ;
    }
}

SomeService
作为参数添加到构造函数中,并从字段中删除
@Autowired
。现在它不可能为空

或者,将构造函数中的代码移动到
@PostConstruct
方法


你应该读书。本指南首先列出您的代码作为示例,说明如何避免这种情况。

在这种情况下使用
@PostConstruct
注释()这正是构造函数注入优于字段注入的原因。非常感谢,构造函数注入工作得非常好。