Java中如何获取spring中配置的properties属性文件内容

String host =  (String) CustomizedPropertyPlaceholderConfigurer.getContextProperty("mail.smtp.host");

 

 import java.util.HashMap; 
  import java.util.Map; 
  import java.util.Properties; 
   
  import org.springframework.beans.BeansException; 
  import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; 
  import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; 
   
  /**
   * 自定义PropertyPlaceholderConfigurer返回properties内容
  * 
   * @author LHY 2012-02-24
   * 
   */ 
  public class CustomizedPropertyPlaceholderConfigurer extends 
          PropertyPlaceholderConfigurer { 
   
      private static Map<String, Object> ctxPropertiesMap; 
   
      @Override 
      protected void processProperties( 
              ConfigurableListableBeanFactory beanFactoryToProcess, 
              Properties props) throws BeansException { 
          super.processProperties(beanFactoryToProcess, props); 
          ctxPropertiesMap = new HashMap<String, Object>(); 
          for (Object key : props.keySet()) { 
              String keyStr = key.toString(); 
              String value = props.getProperty(keyStr); 
              ctxPropertiesMap.put(keyStr, value); 
          }   
      } 
   
      public static Object getContextProperty(String name) { 
          return ctxPropertiesMap.get(name); 
      } 
   
  } 

 

<bean id="propertyConfigurer" 
      class="com.tjsoft.base.util.CustomizedPropertyPlaceholderConfigurer"> 
      <property name="ignoreResourceNotFound" value="true" /> 
      <property name="locations"> 
          <list> 
              <value>/WEB-INF/config/jdbc.properties</value> 
              <value>/WEB-INF/config/mail.properties</value> 
              <value>/WEB-INF/config/system.properties</value> 
          </list> 
      </property> 
  </bean> 

 

 

你可能感兴趣的:(java)