面对的问题:
很多系统在运行的过程中有可能要改变配置文件,很多人(一开始我也是这么做的)在类中直接新建对象并从本地磁盘加载文件,例如:
文件名为aa.properties
public String getResult(){
//利用前面文章读properties和写properties文件
Loader load = new Loader();
Map<String, String> bb = load.readPropertiesFile("aa");
}
像上面这样写的弊端:
<1>每次使用getResult()都要新建load对象,如果是多线程的调用就会造成内存的浪费
<2>每次都去读磁盘中的文件,万一磁盘意外损坏会造成系统的故障
解决方案:
public class Loader {
public Map<String, String> bb;
public PropertiesLoader(){
readPropertiesFile("aa");
}
public Map<String,String> readPropertiesFile(String fileName){
.....................................
}
}
@Controller
public class bbGetter {
Loader load = new Loader();
}