Java Spring环境下properties文件中数值的存取方法

转帖|其它|编辑:郝浩|2009-02-25 10:41:21.000|阅读 816 次

概述:为避免在JAVA程序中使用Hardcode,我们经常使用一些properties文件存放一些经常变化的数据,在runtime环境下通过配置这些数据来达到灵活配置应用程序。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  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;

  }

  }[SPAN]

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

  }

  }

  }


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:IT专家网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP