Spring配置文件的加载工具类,spring工具类,Spring通用Prop
分享于 点击 391 次 点评:123
Spring配置文件的加载工具类,spring工具类,Spring通用Prop
Spring通用PropertiesUtil。Spring配置文件的加载工具类。```javapublic class PropertiesUtil extends PropertyPlaceholderConfigurer implements Map<String, String> {
private static final Logger logger = Logger.getLogger(PropertiesUtil.class);private static Map<String, String> ctxPropertiesMap;protected void processProperties( ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException { super.processProperties(beanFactoryToProcess, props); if (ctxPropertiesMap != null) { logger.warn("The property map will be override!"); } ctxPropertiesMap = new HashMap<String, String>(); for (Object key : props.keySet()) { String keyStr = key.toString(); String value = props.getProperty(keyStr); ctxPropertiesMap.put(keyStr, value); }}public static String getString(String name) { if (ctxPropertiesMap == null) { ctxPropertiesMap = new HashMap<String, String>(); } return (String) ctxPropertiesMap.get(name);}public static boolean getBoolean(String name, boolean defaultValue) { String v = getString(name); if (v == null) { return defaultValue; } try { return Boolean.parseBoolean(v); } catch (Exception e) { } return defaultValue;}public static int getIntValue(String name, int defaultValue) { String v = getString(name); if (v == null) { return defaultValue; } try { return Integer.parseInt(v); } catch (Exception e) { } return defaultValue;}public static long getLongValue(String name, long defaultValue) { String v = getString(name); if (v == null) { return defaultValue; } try { return Long.parseLong(v); } catch (Exception e) { } return defaultValue;}public static short getShortValue(String name, short defaultValue) { String v = getString(name); if (v == null) { return defaultValue; } try { return Short.parseShort(v); } catch (Exception e) { } return defaultValue;}public static double getDoubleValue(String name, double defaultValue) { String v = getString(name); if (v == null) { return defaultValue; } try { return Double.parseDouble(v); } catch (Exception e) { } return defaultValue;}public static float getFloatValue(String name, float defaultValue) { String v = getString(name); if (v == null) { return defaultValue; } try { return Float.parseFloat(v); } catch (Exception e) { } return defaultValue;}public int size() { return ctxPropertiesMap.size();}public boolean isEmpty() { return ctxPropertiesMap.isEmpty();}public boolean containsKey(Object key) { return ctxPropertiesMap.containsKey(key);}public boolean containsValue(Object value) { throw new UnsupportedOperationException();}public String put(String key, String value) { throw new UnsupportedOperationException();}public String remove(Object key) { throw new UnsupportedOperationException();}public void putAll(Map<? extends String, ? extends String> m) { throw new UnsupportedOperationException();}public void clear() { throw new UnsupportedOperationException();}public Set<String> keySet() { throw new UnsupportedOperationException();}public Collection<String> values() { throw new UnsupportedOperationException();}public Set<Map.Entry<String, String>> entrySet() { throw new UnsupportedOperationException();}public String get(Object key) { return (String) ctxPropertiesMap.get(key);}
使用方式,创建一个上面类的bean:```xml<bean id="propertyConfigurer" class="com.forg.common.PropertiesUtil"> <property name="locations"> <list> <value>classpath:system.properties</value> </list> </property> </bean>
用户点评