项目启动后提前初始化某类(@PostConstruct中使用到了该类),解决java.lang.NullPointException空指针异常
问题背景需求:在项目启动后调用一个接口去初始化一些数据。用到注解:@PostConstruct部分代码长这样:问题产生在启动项目后,有个类ExtensionLoader(没有注入容器,但是实现了ApplicationContextAware接口,可以拿到spring上下文ApplicationContext)还没有被加载,而流水号需要调此类去生成,导致空指针发生java.lang.NullPoin
·
问题背景
需求:在项目启动后调用一个接口去初始化一些数据。
用到注解:@PostConstruct
部分代码长这样:
问题产生
在启动项目后,有个类ExtensionLoader(没有注入容器,但是实现了ApplicationContextAware接口,可以拿到spring上下文ApplicationContext)还没有被加载,而流水号需要调此类去生成,导致空指针发生java.lang.NullPointException
ExtensionLoader
解决方案1,将ExtensionLoader提前初始化,代码如下
解决方案2,直接在ExtensionLoader上添加@Component使其成为组件提前注入容器中,但是这里我们的ExtensionLoader是jar包,改变不了只能通过方式1了。
更多推荐
所有评论(0)