內(nèi)蒙古java團隊

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

          在Spring環(huán)境下如何存取properties文件中的數(shù)值
          1.介紹
          為避免在JAVA程序中使用Hardcode,我們經(jīng)常使用一些properties文件存放一些經(jīng)常變化的數(shù)據(jù),在runtime環(huán)境下通過配置這些數(shù)據(jù)來達到靈活配置應(yīng)用程序。在Spring出現(xiàn)以前我們通常使用resource?bundle來實現(xiàn)對properties文件的讀取,但在Spring環(huán)境下問題變得更加簡單,我們只需要寫非常少的代碼就能實現(xiàn)對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文件的配置
          本例中我提供一對簡單的數(shù)據(jù)用于示范:

          #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用于存放所需要的數(shù)值:
          public?class?TJTaskCode?{
          ??private?String?taskcode;
          ??????public?void?setTaskcode(String?taskcode)?{
          ????????????this.taskcode?=?taskcode;
          ??????}
          ??????public?String?getTaskcode()?{
          ????????return?this.taskcode;
          ??????}
          }

          5.測試程序TestAccessProperties.java的執(zhí)行?
          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");
          ????????}
          ????}
          }

          主站蜘蛛池模板: 介休市| 河北区| 阿勒泰市| 岑巩县| 综艺| 营口市| 阿城市| 芮城县| 延安市| 榆林市| 康定县| 谷城县| 吴桥县| 会宁县| 远安县| 布尔津县| 尼玛县| 开原市| 湟源县| 宿松县| 普定县| 丰台区| 扬州市| 新密市| 濮阳县| 达州市| 江孜县| 曲麻莱县| 科技| 谢通门县| 沽源县| 宝坻区| 五家渠市| 仁布县| 芦山县| 潢川县| 大洼县| 和田县| 新蔡县| 丰宁| 东方市|