@Component
public class EnumValueValidator{
static{
SrmsDictService srmsDictService = Utils.getBean(SrmsDictService.class);
}
}
上面代码,通过静态块使用spring容器工具类获取注入的的service。
为什么报错?
由于加载的顺序会导致application为null所以启动的时候会报空指针。
解决办法:
去掉@Component或者@Bean之类的注解,这个类不能也配置成spring中的bean
public class EnumValueValidator{
static{
SrmsDictService srmsDictService = Utils.getBean(SrmsDictService.class);
}
}