隨筆-179  評論-666  文章-29  trackbacks-0
          ?1/**
          ?2?*?全局變量的單例模式,使用eager?instance。
          ?3?*?從指定的配置文件中讀取配置信息,并將配置信息儲存到properties屬性。
          ?4?*?提供訪問屬性的方法,不提供修改屬性的方法。
          ?5?*/

          ?6
          ?7import?java.io.FileInputStream;
          ?8import?java.io.FileNotFoundException;
          ?9import?java.io.IOException;
          10import?java.util.HashMap;
          11import?java.util.Properties;
          12
          13public?class?RuntimeConstants?
          14{
          15??private?final?static?String?_CONF_FILE_NAME="d:\\conf.properties";
          16??private?static?RuntimeConstants?_instance=new?RuntimeConstants();
          17??private?HashMap?properties=new?HashMap();
          18??
          19??private?RuntimeConstants()
          20??{
          21????init();
          22??}

          23
          24??public?static?void?main(String[]?args)
          25??{
          26????System.out.println((String)RuntimeConstants.getInstance().getProperty("log.level"));
          27????RuntimeConstants.getInstance().setProperty("log.level","DEBUG5555555");
          28????System.out.println((String)RuntimeConstants.getInstance().getProperty("log.level"));
          29??}

          30??
          31??/**
          32???*?獲取單例實例。
          33
          34???*/

          35??public?static?RuntimeConstants?getInstance()
          36??{
          37????return?_instance;
          38??}

          39??
          40??/**
          41???*?從指定的配置文件讀取配置信息,并裝配到properties屬性
          42???*/

          43??private?void?init()
          44??{
          45????Properties?p=new?Properties();
          46????try
          47????{
          48??????p.load(new?FileInputStream(_CONF_FILE_NAME));
          49??????Object[]?keys=p.keySet().toArray();
          50??????int?i=0;
          51??????for(i=0;i<keys.length;i++)
          52??????{
          53????????properties.put((String)keys[i],p.getProperty((String)keys[i]));
          54??????}

          55????}

          56????catch?(FileNotFoundException?e)
          57????{
          58??????System.out.println("[ERROR]?沒有找到配置文件?"+e);
          59????}

          60????catch?(IOException?e)
          61????{
          62??????System.out.println("[ERROR]?讀取文件失敗?"+e);
          63????}

          64????p.clear();
          65??}

          66??
          67??public?Object?getProperty(Object?key)
          68??{
          69????return?properties.get(key);
          70??}

          71
          72??public?void?setProperty(Object?key,?Object?value)
          73?{
          74??????properties.put(key,value);
          75?}

          76
          77}

          78


          conf.properties 如下:

          ?1db.target.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
          ?2db.target.user=sa
          ?3db.target.password=123456
          ?4db.target.schema=soman
          ?5db.target.url=
          ?6db.target.connections=10
          ?7
          ?8db.source.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
          ?9db.source.user=sa
          10db.source.password=654321
          11db.source.schema=somanQuery
          12db.source.url=
          13db.source.connections=20
          14
          15runtime.thread.max=50
          16
          17log.level=DEBUG
          posted on 2005-10-20 15:45 Alpha 閱讀(3637) 評論(0)  編輯  收藏 所屬分類: Java J2EE JSP
          主站蜘蛛池模板: 丹棱县| 瓮安县| 安徽省| 定兴县| 大城县| 沁阳市| 房产| 南漳县| 翼城县| 阿克| 安庆市| 旬邑县| 四子王旗| 万州区| 武隆县| 会东县| 江油市| 五华县| 十堰市| 兴国县| 鄂尔多斯市| 迁安市| 陵川县| 育儿| 龙陵县| 内乡县| 长宁区| 清水河县| 丹寨县| 来凤县| 卢龙县| 云阳县| 台北市| 衡阳县| 东乡| 耿马| 昔阳县| 乌兰察布市| 枣强县| 黑龙江省| 蒙自县|