隨筆-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 閱讀(3632) 評論(0)  編輯  收藏 所屬分類: Java J2EE JSP
          主站蜘蛛池模板: 崇明县| 扬中市| 桃江县| 孝义市| 岳普湖县| 年辖:市辖区| 南华县| 阳原县| 修武县| 隆子县| 乌兰县| 乡宁县| 肇东市| 盘锦市| 正镶白旗| 安图县| 视频| 湟中县| 娄底市| 淅川县| 苏尼特右旗| 阳朔县| 尚义县| 西林县| 阿城市| 贡嘎县| 成武县| 湘潭县| 涿鹿县| 大邑县| 乡宁县| 蓝山县| 拉孜县| 海兴县| 寿宁县| 正阳县| 浦北县| 黄石市| 石城县| 栾川县| 峡江县|