隨筆-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
          主站蜘蛛池模板: 通山县| 即墨市| 武鸣县| 平顶山市| 焦作市| 南木林县| 平舆县| 高碑店市| 武陟县| 东光县| 墨脱县| 松溪县| 南溪县| 襄汾县| 红原县| 偏关县| 布拖县| 霸州市| 温泉县| 迁西县| 宁陵县| 滕州市| 卢龙县| 金阳县| 阿拉善左旗| 普兰县| 曲靖市| 沭阳县| 吉木乃县| 佛坪县| 乐昌市| 开鲁县| 繁峙县| 远安县| 河间市| 包头市| 孟津县| 娱乐| 亳州市| 梁平县| 元氏县|