我这段时间 发现的一个问题 如下
使用 @Autowired标注一个 类
@Autowired
ABC abc ;
类如下
@Date
class ABC {
A a;
B b;
C c;
}
当第一次插入
abc{
a=1;
b=2;
c=null;
}
成功插入a=1;b=2;c=null;
第二次插入
abc{
a=null;
b=3;
c=4;
}
插入数据为a=1;b=3;c=4;
(此处设置null 数据不处理)
正常应该是a=null;b=3;c=4;
很明显 结果错了 a的数据沿用了上一次插入的数据,b和c 都因为修改过所以成功了
处理方法
方法一: 每次使用的时候重新new一个类
abc=new ABC();
该方法 缺点 自动装配的效果没有了
方法二: 将所有未修改过的 数据 也 都修改为空
abc.seta(null);
abc.setb(3);
abc.setc(4);
该方法 缺点 类属性过多的时候会很麻烦 要写好多行 重复代码;