前些日子列了一些问题让项目组开发人员做修改,之后某个批量处理就报错了
报错某个数据库实体类空指针,项目组开发人员怀疑是Spring没有扫描到,但是用的自动装配,应该不会有问题,配置文件也检查过。
仔细排查了代码,终于找到问题所在,贴出大致代码如下
public class Demo3Action extends BaseAction{
//……
@AutoWired
private ARepository aRespository;
//……
public void AHandleOne(Context context) throws Exception{
//……
Demo3Action demo3Action = new Demo3Action();
demo3Action.AHandleTwo();
}
public void AHandleTwo() throws IOException, CoreException{
List
findAll = aRespository.findAll();
//……
}
//……
}
然后也看到了。在Demo3Action 类里面的一个方法,又new一个 Demo3Action ,然后去调用new出来的方法。
AHandleTwo 的第一句就是调用到 数据库实体类 aRepository ,那aRepository 就报错空指针了。
引以为戒。