(三种方式 获取 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:[email protected]
 * @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:[email protected]
 * @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捐助),没钱捧个人场,谢谢各位。



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

猜你喜欢

转载自knight-black-bob.iteye.com/blog/2234042