操作全局变量引发的bug
问题:我用一个service引用调用其内部两个方法,被调用的引用的全局变量不一样。
此处的全局变量是写在一个service中的变量,值是从配置文件获取的。
@Value("${dataUrl}")
private String url;
是因为我在一个方法中写了url = url +fileName;
所以在controller中对于同一个service引用,它的url值已经发生了更改,或者说url的内存地址发生了变化,指向了新的数据内存,当再次使用service去调用其他方法的时候,其他方法使用到的是新的url值,此处如果新建一个该service引用调用的还是原来从配置文件中获取的值(不过也不会这么调用,太多余),严谨的办法还是最好不要去改变对象中的全局变量。
最好这样操作,使用一个新的局部变量去接收。
String newUrl = url + frileName;