內蒙古java團隊

          j2se,j2ee開發組
          posts - 139, comments - 212, trackbacks - 0, articles - 65
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          在Spring環境下如何存取properties文件中的數值
          1.介紹
          為避免在JAVA程序中使用Hardcode,我們經常使用一些properties文件存放一些經常變化的數據,在runtime環境下通過配置這些數據來達到靈活配置應用程序。在Spring出現以前我們通常使用resource?bundle來實現對properties文件的讀取,但在Spring環境下問題變得更加簡單,我們只需要寫非常少的代碼就能實現對properties文件的隨機存取。
          2.ApplicationContext.xml文件配置
          ApplicationContext是BeanFactory的擴展,它提供了BeanFactory的所有功能,ApplicationContext允許你通過完全聲明的方式配置和管理Spring和Spring管理的資源,本文我提供以下實例:?

          <?xml?version="1.0"?encoding="UTF-8"?>
          <!DOCTYPE?beans?PUBLIC?"-//SPRING//DTD?BEAN//EN"?"http://www.springframework.org/dtd/spring-beans.dtd">
          <beans>
          ????<bean?id="configproperties"?
          ?????????class="org.springframework.beans.factory.config.PropertiesFactoryBean">
          ??????????<property?name="location"?value="file:config.properties"/>
          ????</bean>
          ?????<bean?id="propertyConfigurer"?????
          ?????????class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
          ?????????<property?name="properties"?ref="configproperties"/>
          ????</bean>
          ????<bean?id="tjtaskcode"?class="TJTaskCode">
          ??????????<property?name="taskcode"?value="${TJ.TaskCode}"/>
          ????</bean>
          </beans>

          3.?Config.properties文件的配置
          本例中我提供一對簡單的數據用于示范:

          #Transaction?Journal?Task?Codes
          TJ.TaskCode?=?1034,1035,1037,1038,1040,1057,1058,1074

          TJ.TaskCode是鍵,1034,1035,1037,1038,1040,1057,1058,1074是值;

          4.Java?Bean的定義?
          定義Java?Bean?TJTaskCode.Java用于存放所需要的數值:
          public?class?TJTaskCode?{
          ??private?String?taskcode;
          ??????public?void?setTaskcode(String?taskcode)?{
          ????????????this.taskcode?=?taskcode;
          ??????}
          ??????public?String?getTaskcode()?{
          ????????return?this.taskcode;
          ??????}
          }

          5.測試程序TestAccessProperties.java的執行?
          import?org.springframework.context.ApplicationContext;
          import?org.springframework.context.support.ClassPathXmlApplicationContext;
          import?com.td.cc.audit.impl.TJTaskCode;
          public?class?TestAccessProperties?{
          ????public?static?void?main(String[]?args)?{
          ????
          ?????????ApplicationContext?context;????????????????????????
          ????????context?=?new?ClassPathXmlApplicationContext("applicationContext.xml");????????TJTaskCode?taskcode1?=?(TJTaskCode)context.getBean("tjtaskcode");
          ?????????String?taskcode2?=?taskcode1.getTaskcode();
          ?????????System.out.println(taskcode2);
          ????????if?(taskcode2.indexOf("1034")!=-1)?//
          ????????{
          ????????????System.out.println("Y");
          ????????}?else{
          ????????????System.out.println("N");
          ????????}
          ????}
          }

          主站蜘蛛池模板: 九龙坡区| 伊金霍洛旗| 林甸县| 镶黄旗| 织金县| 新郑市| 思南县| 井陉县| 嫩江县| 贵溪市| 永丰县| 铁岭市| 砀山县| 中阳县| 调兵山市| 富阳市| 克拉玛依市| 宁都县| 绍兴市| 维西| 水城县| 竹山县| 枣强县| 千阳县| 湖北省| 辽中县| 四川省| 婺源县| 富源县| 东城区| 鱼台县| 西藏| 余江县| 正阳县| 永登县| 银川市| 乌苏市| 酒泉市| 木里| 自治县| 平昌县|