SpringBoot工程启动后,需要初始化许多的Bean,但是一个A类的Bean初始化需要B类的Bean支持,即:如果B类的Bean还未初始化完成,则A类的初始化就会失败。
注意:虽然在项目编译的时候是不会出现报错的现象,但是在项目运行的时候会把A类的Bean由于并未完成初始化会报错。这也是为什么在很多情况下,项目在自己PC上运行正常,但是部署到环境上会偶尔出现,或者经常出现空指针的异常。
例子:
在Bean初始化的过程中,HongKong类的初始化需要依赖于China类的初始化,YuanLang类的初始化需要依赖于HongKong类的初始化。
可以理解成,有了中华人民共和国才能有香港特别行政区,有了香港特别行政区才能有元朗区。严格遵守这样的流程才能初始化所有的Bean,否则当程序运行的时候,HongKong类或者YuanLang类就会报空。