`
qq123zhz
  • 浏览: 534409 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

spring中获得属性文件键值对,在程序中使用

 
阅读更多
!-- 	<context:property-placeholder -->
<!-- 		location="/WEB-INF/jdbc-config/jdbc.properties" /> -->
		<bean id="propertyConfigurer"  class="com.chinaGPS.nss.util.MyPropertyPlaceholderConfigurer">
		        <property name="locations">
		            <list>
		                <value>/WEB-INF/jdbc-config/httpRemote.properties</value>
		            </list>
		        </property>
		 </bean>

 

package com.chinaGPS.nss.util;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Properties;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

import com.chinaGPS.nss.constant.SystemConst;

/**加载属性类
 * @author zhz
 *
 */
public class MyPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {

  private Map<String, String> resolvedProps;//将属性保存起来

  @Override
  protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess,
      Properties props) throws BeansException {
      super.processProperties(beanFactoryToProcess, props);
      resolvedProps = new HashMap<String, String>();
      for (Object key : props.keySet()) {
          String keyStr = key.toString();
          
          if(StringUtils.equals(keyStr, "auto_craw"))
          {
        	  String tmp = parseStringValue(props.getProperty(keyStr), props,new HashSet());
        	  if(StringUtils.equalsIgnoreCase(tmp, "on"))
  				SystemConst.AUTOCRAW  = "on";		
  			if(StringUtils.equalsIgnoreCase(tmp, "off"))
  				SystemConst.AUTOCRAW="off";
  			else
  				continue;
          }
//          resolvedProps.put(keyStr, parseStringValue(props.getProperty(keyStr), props,
//                  new HashSet()));
      }
  }
}

 

分享到:
评论
1 楼 yangshiman 2012-02-10  
protected void processProperties(
ConfigurableListableBeanFactory beanFactoryToProcess,
Properties props) throws BeansException {
super.processProperties(beanFactoryToProcess,props);
for (Enumeration propertyNames = props.propertyNames(); propertyNames.hasMoreElements();) {
String propertyName = (String) propertyNames.nextElement();
String propertyValue = props.getProperty(propertyName);
String convertedValue = convertProperty(propertyName, propertyValue);
PropertiesPool.load(propertyName, convertedValue);
}
}

相关推荐

    spring使用属性文件

    下面将详细介绍如何在Spring中使用属性文件以及相关知识点。 1. **属性文件格式** 属性文件通常以`.properties`为扩展名,例如`application.properties`或`database.properties`。文件中的键值对以等号`=`分隔,如...

    JAVA Spring使用外部属性文件

    在Java Spring框架中,使用外部属性文件是一种常见的最佳实践,它允许我们将应用程序的配置信息与源代码分离,便于管理、维护和环境间的切换。本文将深入探讨如何在Spring应用中利用外部属性文件,以及其背后的原理...

    Java课程实验 Spring Boo 配置文件以及 Profile 多环境配置

    在默认配置文件中,按照属性键值对的格式配置应用程序的属性。例如: properties spring.datasource.url=jdbc:mysql://localhost/test spring.datasource.username=root spring.datasource.password=123456 可以根据...

    如何读取webroot文件下的属性文件

    在Spring框架中,可以使用`Resource`接口和`ApplicationContext`来加载属性文件,这在多环境配置或类路径资源加载时非常有用: ```java Resource resource = new ClassPathResource("config.properties"); ...

    Spring Boot读取配置文件常用方式

    Spring Expression Language (SpEL)可以在配置文件中使用,允许在属性值中引用其他属性。例如: ```properties server.port=${random.int[1024,65535]} ``` 这里,`server.port`的值将是一个1024到65535之间的...

    bboss ioc配置文件中使用外部属性文件介绍

    在实际开发中,使用外部属性文件能够极大地提高灵活性,使得应用的配置更加集中和易于管理。当环境发生变化或需要调整配置时,只需修改属性文件而无需改动代码,这对于多环境部署和持续集成非常有利。 此外,`build...

    Spring中属性文件properties的读取与使用详解

    在Spring框架中,属性文件(通常为`.properties`格式)被广泛用来存储应用程序的配置信息,如数据库连接、邮件设置等。这些配置信息可以独立于源代码,方便管理和修改。本文将详细介绍如何在Spring中读取和使用这些...

    eclipse添加springXML文件的提示

    本文将详细介绍如何在Eclipse IDE中设置Spring XML文件提示功能,帮助开发者更高效地编写代码。 #### 二、准备工作 在开始之前,请确保已经安装了以下软件: - **Eclipse IDE**:推荐使用最新版本的Eclipse IDE ...

    Spring Boot_配置文件-多环境配置

    在Spring Boot框架中,配置文件的管理是项目构建和运行的关键部分。Spring Boot的设计理念是简化配置,使得开发者能够快速地启动和运行应用程序。在实际开发中,我们往往需要为不同的部署环境(如开发、测试、生产)...

    spring-demo09-读取properties配置文件内容.zip

    在`spring-demo09-读取properties配置文件内容`这个示例中,你可以学习到如何将配置文件的值注入到Java代码中,以便在程序运行时使用。通过这种方式,我们可以轻松地更改配置而无需修改代码,极大地提高了项目的可...

    spring02-6

    在Java开发中,属性文件通常以`.properties`为扩展名,它以键值对的形式存储配置信息。例如,我们可以创建一个名为`application.properties`的文件,其中包含以下内容: ``` database.url=jdbc:mysql://localhost:...

    spring引入prop

    标题“spring引入prop”指的是在Spring框架中使用配置属性(properties)的过程。Spring框架允许开发者通过.properties或.yml文件来管理应用程序的配置,这种方式方便了环境变量的管理和微调。下面将详细阐述Spring...

    spring 启动时加载不同的文件

    - **功能**: 它能够将`properties`文件中的键值对映射到Spring容器中,供其他Bean使用。 **2. 动态加载配置文件** - **目的**: 根据部署环境的不同,动态地更改应用使用的配置文件,从而实现环境间的灵活切换。 - *...

    [课堂课件讲解]Java微服务实践-Spring Boot 配置.pptx

    在定义 Profile 时,我们需要指定 Profile 的名称,以便于在应用程序中使用。 2. 使用场景 Profile 应用场景非常广泛,例如,我们可以使用 Profile 来区隔开发、测试、生产等不同的环境,并提供了更加灵活的配置...

    spring读取properties

    在Spring框架中,读取和使用Properties文件是一种常见的配置方式,尤其当涉及到数据库连接、环境变量等需要在运行时动态加载或更改的信息时。本文将深入解析如何在Spring环境中读取Properties文件,包括配置步骤、...

    spring4.0引用properties

    然后,你可以在任何需要使用这些属性的bean中使用`@Value`注解: ```java @Service public class StudentService { @Value("${db.url}") private String dbUrl; @Value("${db.username}") private String ...

    SpringBoot获取yml和properties配置文件的内容

    这个注解允许我们将配置文件中的键值对映射到Java对象的属性上。首先,我们需要在`pom.xml`文件中添加`spring-boot-configuration-processor`依赖,这样Spring Boot就可以处理配置属性并生成元数据: ```xml ...

    Spring Boot技术知识点:如何理解@ConfigurationProperties注解

    - 与直接在代码中使用`Environment`接口获取配置相比,`@ConfigurationProperties`提供了类型安全的访问方式,避免了因键值拼写错误导致的异常。 8. **全局配置** - 如果希望某个配置类对整个应用生效,可以将其...

    Spring_SpEl表达式使用用例

    Spring允许在配置中使用SpEL表达式作为占位符,如`@Value("#{systemProperties['java.version']}")`,这将注入Java版本号到bean的属性中。 7. **T()和P()函数** `T()`函数用于引入类型,如`T(java.util.Date)`...

Global site tag (gtag.js) - Google Analytics