问题背景

需求:在项目启动后调用一个接口去初始化一些数据。

用到注解:@PostConstruct

部分代码长这样:

 

问题产生

在启动项目后,有个类ExtensionLoader(没有注入容器,但是实现了ApplicationContextAware接口,可以拿到spring上下文ApplicationContext)还没有被加载,而流水号需要调此类去生成,导致空指针发生java.lang.NullPointException

ExtensionLoader

 

解决方案1,将ExtensionLoader提前初始化,代码如下

解决方案2,直接在ExtensionLoader上添加@Component使其成为组件提前注入容器中,但是这里我们的ExtensionLoader是jar包,改变不了只能通过方式1了。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐