import java.util.*;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
/**
* spring加载的配置写入到map中,方便取用
*
*/
public class ConfigInitLoadingConfigurer extends PropertyPlaceholderConfigurer {
private static HashMap<String, String> ctxPropertiesMap;
private static Logger log = Logger.getLogger(ConfigInitLoadingConfigurer.class);
@Override
protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props){
try{
super.processProperties(beanFactoryToProcess, props);
ctxPropertiesMap = new HashMap<String, String>();
for (Object key : props.keySet()) {
String keyStr = key.toString();
String value = props.getProperty(keyStr).toString();
ctxPropertiesMap.put(keyStr, value);
}
}catch(Exception e){
log.error("读取配置文件出错", e);
e.printStackTrace();
}
}
public static String getContextProperty(String name) throws Exception {
if(ctxPropertiesMap.containsKey(name)){
return ctxPropertiesMap.get(name);
}else{
throw new Exception("参数不存在");
}
}
public static void setContextProperty(String key, String value) {
if(key!=null && !key.equals("")){
ctxPropertiesMap.put(key, value);
}else{
log.error("参数名不能为空");
}
}
}
spring加载的配置写入到map中,方便取用
最新推荐文章于 2024-07-08 16:28:07 发布