static和@postconstruct的区别:static块在类初始化时调用,在它被加载之后。您的组件的依赖项尚未初始化。这就是为什么您会收到NullPointerException(您的依赖项为空)。将您的代码移动到使用@PostConstruct注释的方法。这将确保您的代码将在您的组件的所有依赖项都被初始化时运行翻译:加载类时将引入静态模块。您的组件的依赖项尚未初始化。这就是您的代码块抛出空指针异常的原因。(你的依赖项都是空的)将你的代码移动到一个@PostConstruct声明的方法块中,这确保你的代码在所有组件加载后执行。
