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

          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來實現(xiàn)對properties文件的讀取,但在Spring環(huán)境下問題變得更加簡單,我們只需要寫非常少的代碼就能實現(xiàn)對properties文件的隨機存取。
          2.ApplicationContext.xml文件配置
          ApplicationContext是BeanFactory的擴(kuò)展,它提供了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");
          ????????}
          ????}
          }

          主站蜘蛛池模板: 肃南| 沙洋县| 碌曲县| 广东省| 定远县| 黑龙江省| 合山市| 大荔县| 临西县| 姜堰市| 南召县| 资兴市| 陕西省| 西畴县| 荆门市| 鸡西市| 呼和浩特市| 黄石市| 定兴县| 堆龙德庆县| 察雅县| 瑞安市| 江城| 宜城市| 清水河县| 汉中市| 二连浩特市| 荃湾区| 池州市| 宁河县| 罗源县| 高州市| 大荔县| 北川| 姜堰市| 淄博市| 龙门县| 定日县| 绥江县| 永仁县| 扶绥县|