內(nèi)蒙古java團(tuán)隊(duì)

          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ù)來達(dá)到靈活配置應(yīng)用程序。在Spring出現(xiàn)以前我們通常使用resource?bundle來實(shí)現(xiàn)對properties文件的讀取,但在Spring環(huán)境下問題變得更加簡單,我們只需要寫非常少的代碼就能實(shí)現(xiàn)對properties文件的隨機(jī)存取。
          2.ApplicationContext.xml文件配置
          ApplicationContext是BeanFactory的擴(kuò)展,它提供了BeanFactory的所有功能,ApplicationContext允許你通過完全聲明的方式配置和管理Spring和Spring管理的資源,本文我提供以下實(shí)例:?

          <?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");
          ????????}
          ????}
          }

          主站蜘蛛池模板: 静海县| 富川| 蓬莱市| 青川县| 称多县| 德化县| 宁南县| 汾阳市| 三穗县| 门源| 株洲县| 六枝特区| 太白县| 新源县| 台南市| 敦化市| 沁源县| 鄂伦春自治旗| 木兰县| 天津市| 南木林县| 翁牛特旗| 邵武市| 芮城县| 中阳县| 名山县| 临朐县| 岫岩| 汉川市| 庄河市| 鄢陵县| 定西市| 海盐县| 眉山市| 竹北市| 沁源县| 方山县| 环江| 元氏县| 嘉善县| 翁牛特旗|