`
knight_black_bob
  • 浏览: 855095 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(三种方式 获取 properties)自定义PropertyPlaceholderConfigurer 获取properties值 spring

阅读更多

 

 第一种方式

一句代码解决 constants.properties 

jar 是 java 自带的 rj.jar

public static String getTextByCode(String code){
		
		ResourceBundle bundle = ResourceBundle.getBundle("constants");
		
		return bundle.getString(code);
		
	}

 

 

第二种方式:

<dependency>
    <groupId>com.typesafe</groupId>
    <artifactId>config</artifactId>
    <version>1.2.0</version>
</dependency>

 

/**
 * 
 * @author baoyou E-mail:curiousby@163.com
 * @version 2016年11月2日 下午1:54:13
 * desc:
 */
public class ConfigUtil {

    public static ConfigUtil instance = new ConfigUtil();

    private Config mConfig;

    private ConfigUtil() {
        mConfig = ConfigFactory.parseResources("config.properties");
    }

    public String getStr(String key) {
        return instance.mConfig.getString(key);
    }
}

 

 

 

 第三种方式

 user_tag_template.properties

000=000,\u6240\u6709\u7528\u6237,001.png
001=001,\u6D41\u5931\u7528\u6237,002.png

 

 applicationContext.xml

<bean id="propertyConfigurer" class="com.fusionability.web.utils.UserTagConfigurer">
		<property name="ignoreResourceNotFound" value="true" />
		<property name="locations">
			<list>
				<value>classpath:user_tag_template.properties</value>
			</list>
		</property>
	</bean>
    

 

 

package com.fusionability.web.utils;

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

import org.apache.log4j.Logger;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

import com.fusionability.web.bean.UserTagKeyAndValue;

/**
 * @author baoyou E-mail:curiousby@163.com
 * @version 创建时间:2015年8月10日 上午11:37:19 des:
 */
public class UserTagConfigurer extends PropertyPlaceholderConfigurer {
	private static Logger logger = Logger.getLogger(UserTagConfigurer.class);
	
	private static Map<String,UserTagKeyAndValue> ctxPropertiesMap;

	@Override
	protected void processProperties( ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException {
		super.processProperties(beanFactoryToProcess, props);
		ctxPropertiesMap = new HashMap<String,UserTagKeyAndValue>();
		for (Object key : props.keySet()) {
			String keyStr = key.toString();
			String value = props.getProperty(keyStr);
			if(value != null && value != "" && value.contains(",") ) {
				UserTagKeyAndValue utkav =  new UserTagKeyAndValue();
				utkav.setCode(value.split(",")[0]);
				utkav.setName(value.split(",")[1]);
				utkav.setPic(value.split(",")[2]);
				ctxPropertiesMap.put(keyStr, utkav);
			}  
			
		}
		logger.info(" ctxPropertiesMap.size() "+ctxPropertiesMap.size());
	}

	public static UserTagKeyAndValue getContextProperty(String name) {
		return ctxPropertiesMap.get(name);
	} 
	
	public  static Map<String,UserTagKeyAndValue> getConfigurerMap (){
         return ctxPropertiesMap;
	}
	
}

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

分享到:
评论

相关推荐

    Spring PropertyPlaceholderConfigurer配置文件加载器集成ZooKeeper来实现远程配置读取

    在Spring中,`PropertyPlaceholderConfigurer`是一个非常重要的类,它用于处理属性文件中的占位符,将它们替换为实际的值。这在配置管理中起到了关键作用,特别是在大型分布式系统中,动态配置管理变得尤为重要。...

    Spring属性占位符PropertyPlaceholderConfigurer的使用

    在Spring框架中,属性占位符`PropertyPlaceholderConfigurer`是一个重要的工具,用于处理配置文件中的属性值引用。它使得我们可以在XML配置文件中使用占位符`${...}`来引用外部属性文件中的值,从而使应用配置更加...

    Spring中PropertyPlaceholderConfigurer的使用

    PropertyPlaceholderConfigurer 是 Spring 框架中的一个重要组件,用于加载和管理 Properties 文件。它能够将 Properties 文件中的键值对注入到 Spring 的 bean 中,从而实现了配置的外部化和动态化。 基本使用方法...

    spring读取properties

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

    spring4.0引用properties

    Properties文件是一种常见的存储配置属性的方式,它允许开发者将配置参数与代码分离,从而实现更好的可维护性和灵活性。本实例将深入探讨如何在Spring 4.0中引用和使用properties文件。 首先,我们需要创建一个...

    SPRING:bean配置properties

    `PropertyPlaceholderConfigurer`允许我们在Spring的配置文件中引用外部的properties文件,以实现配置信息的灵活管理和动态加载。以下是一个基本的配置示例: ```xml class="org.springframework.beans.factory....

    java 获取properties的几种方式(csdn)————程序.pdf

    Spring提供了`PropertyPlaceholderConfigurer`类,它可以将Properties文件中的值注入到Bean的属性中。在XML配置文件中,我们创建一个`PropertyPlaceholderConfigurer`的Bean,并指定`location`属性为Properties文件...

    Spring Properties的使用和配置方法

    Spring Properties 是 Spring 框架中的一种配置方式,用于存储和管理应用程序的配置信息。Spring Properties 的使用和配置方法主要有四种:通过 xml 配置文件、@Value 注解、Environment 获取和 ...

    加载properties配置文件的几种方法

    另一种方式是直接使用`java.util.Properties`类的`load()`方法加载文件,然后通过`getProperty()`获取属性值: ```java Properties props = new Properties(); props.load(new FileInputStream("config....

    Spring3.0 配置文件中加载Properties文件的小例子

    本篇将详细讲解如何在Spring 3.0的配置文件中加载Properties文件,以便在运行时动态获取和使用这些配置。 首先,我们需要一个Properties文件,例如`application.properties`,它通常放在项目的类路径根目录下。这个...

    org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

    `org.springframework.beans.factory.config.PropertyPlaceholderConfigurer` 是Spring框架中的一个重要组件,主要负责处理配置文件中的占位符替换。这个类是Spring在初始化bean时用来解析和注入环境变量或系统属性...

    Spring中Properties的配置方式

    Spring 中 Properties 的配置方式 Spring 中 Properties 的配置方式是指在 Spring 框架中使用 Properties 文件来存储和读取配置信息的方式。Properties 文件是一种简单的文本文件,用于存储应用程序的配置信息,...

    Spring如何使用PropertyPlaceholderConfigurer读取文件

    Spring如何使用...使用PropertyPlaceholderConfigurer可以将配置文件的路径放在java虚拟机JVM的自定义变量中,例如:-Ddev.config=/dev.properties,这样可以实现配置文件的路径根据环境的变化而变化。 ...

    详解Spring加载Properties配置文件的四种方式

    Spring加载Properties配置文件的四种方式 Spring框架提供了多种方式来加载Properties配置文件,以便于应用程序读取和使用配置信息。下面将详细介绍四种常见的加载Properties配置文件的方式。 方式一: 通过context:...

    spring无法读取properties文件数据问题详解

    Spring 无法读取 properties 文件数据问题详解 Spring 框架在读取 properties 文件数据时可能会遇到一些问题,本文将对这些问题进行详细的解释和解决。 问题一:Controller 中无法读取 properties 文件数据 在 ...

    SSM 读取properties文件

    在Spring框架中,读取properties文件主要通过两种方式:`PropertyPlaceholderConfigurer` 和 `@Value` 注解。 1. **PropertyPlaceholderConfigurer**: 这是一个Spring的bean定义类,它允许我们从properties文件中...

    引入多个properties时.txt

    这里`${driver}`和`${logLevel}`就是从`properties`文件中获取的值。 ### 三、解决引入多个`properties`文件时的问题 #### 3.1 属性覆盖问题 如果多个`properties`文件中定义了相同的属性,那么后加载的文件中的...

    Spring用代码来读取properties文件实例解析

    在Spring应用程序中,我们可以使用@Value注解来读取Properties文件中的值,但是这需要我们每次使用时都声明一个局部变量。今天,我们将探讨如何使用代码来读取Properties文件,并将其封装成一个工具类,以便于在...

    Spring数据库连接等配置加密

    最后,关于`junfeng`这个文件,它可能是作者在文章中提到的一种特定的加密方式或者一个工具的名称。由于没有具体的文件内容,这里无法给出详细的解释。但一般来说,它可以是作者自定义的加密算法实现,或者是第三方...

    spring 启动时加载不同的文件

    为了适应这种需求,Spring框架提供了一种灵活的方式来处理这种场景:即在启动时根据不同配置加载不同的文件。 #### 二、核心概念解析 **1. PropertyPlaceholderConfigurer** - **定义**: `...

Global site tag (gtag.js) - Google Analytics