欢迎来到天天文库
浏览记录
ID:37581367
大小:485.50 KB
页数:41页
时间:2019-05-25
《java单例模式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java单例模式(Singleton) 1 场景问题1.1 读取配置文件的内容 考虑这样一个应用,读取配置文件的内容。 很多应用项目,都有与应用相关的配置文件,这些配置文件多是由项目开发人员自定义的,在里面定义一些应用需要的参数数据。当然在实际的项目中,这种配置文件多采用xml格式的。也有采用properties格式的,毕竟使用Java来读取properties格式的配置文件比较简单。 现在要读取配置文件的内容,该如何实现呢?1.2 不用模式的解决方案 有些朋友会想,要读取配置文件的内容
2、,这也不是个什么困难的事情,直接读取文件的内容,然后把文件内容存放在相应的数据对象里面就可以了。真的这么简单吗?先实现看看吧。 为了示例简单,假设系统是采用的properties格式的配置文件。(1)那么直接使用Java来读取配置文件,示例代码如下:01/**02 *读取应用配置文件03 */04publicclassAppConfig{05 /**06 *用来存放配置文件中参数A的值07 */08 privateStringparameterA;09 /**10 *用来存放配置文
3、件中参数B的值11 */12 privateStringparameterB; 13 14 publicStringgetParameterA(){15 returnparameterA;16 }17 publicStringgetParameterB(){18 returnparameterB;19 }20 /**21 *构造方法22 */23 publicAppConfig(){24 //调用读取配置文件的方法25
4、 readConfig();26 }27 /**28 *读取配置文件,把配置文件中的内容读出来设置到属性上29 */30 privatevoidreadConfig(){31 Propertiesp=newProperties(); 32 InputStreamin=null;33 try{34 in=AppConfig.class.getResourceAsStream(35"AppConfig.properties");36
5、 p.load(in);37 //把配置文件中的内容读出来设置到属性上38 this.parameterA=p.getProperty("paramA");39 this.parameterB=p.getProperty("paramB");40 }catch(IOExceptione){41 System.out.println("装载配置文件出错了,具体堆栈信息如下:");42 e.pri
6、ntStackTrace();43 }finally{44 try{45 in.close();46 }catch(IOExceptione){47 e.printStackTrace();48 }49 }50 }51} 注意:只有访问参数的方法,没有设置参数的方法。(2)应用的配置文件,名字是AppConfig.properties,放在AppConfig相同的包里面,简单示
7、例如下:1paramA=a2paramB=b(3)写个客户端来测试一下,示例代码如下:01publicclassClient{02 publicstaticvoidmain(String[]args){03 //创建读取应用配置的对象04 AppConfigconfig=newAppConfig();05 06 StringparamA=config.getParameterA();07 StringparamB=config.getParameterB(
8、);08 09 System.out.println("paramA="+paramA+",paramB="+paramB);10 }11}运行结果如下:paramA=a,param
此文档下载收益归作者所有