最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring用代碼來讀取properties文件實(shí)例解析

 更新時(shí)間:2018年01月10日 11:05:49   作者:Gyoung  
這篇文章主要介紹了Spring用代碼來讀取properties文件實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下

有些時(shí)候,我們需要以Spring代碼直接讀取properties配置文件,那么我們要如何操作呢?下面我們來看看具體內(nèi)容。

我們都知道,Spring可以@Value的方式讀取properties中的值,只需要在配置文件中配置

org.springframework.beans.factory.config.PropertyPlaceholderConfigurer

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
      <value>classpath:config.properties</value>
    </property>
  </bean>

那么在需要用到這些獲取properties中值的時(shí)候,可以這樣使用

  @Value("${sql.name}")
  private String sqlName;

但是這有一個(gè)問題,我每用一次配置文件中的值,就要聲明一個(gè)局部變量。有沒有用代碼的方式,直接讀取配置文件中的值。

答案就是重寫PropertyPlaceholderConfigurer

public class PropertyPlaceholder extends PropertyPlaceholderConfigurer {

  private static Map<String,String> propertyMap;

  @Override
  protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException {
    super.processProperties(beanFactoryToProcess, props);
    propertyMap = new HashMap<String, String>();
    for (Object key : props.keySet()) {
      String keyStr = key.toString();
      String value = props.getProperty(keyStr);
      propertyMap.put(keyStr, value);
    }
  }

  //static method for accessing context properties
  public static Object getProperty(String name) {
    return propertyMap.get(name);
  }
}

在配置文件中,用上面的類,代替PropertyPlaceholderConfigurer

 <bean id="propertyConfigurer" class="com.gyoung.mybatis.util.PropertyPlaceholder">
    <property name="location">
      <value>classpath:config.properties</value>
    </property>
  </bean>

這樣在代碼中就可以直接用編程方式獲取

 PropertyPlaceholder.getProperty("sql.name");

如果是多個(gè)配置文件,配置locations屬性

<bean id="propertyConfigurer"
     class="com.gyoung.mybatis.util.PropertyPlaceholder">
    <property name="ignoreResourceNotFound" value="true"/>
    <property name="locations">
      <list>
        <value>file:./jdbc.properties</value>
        <value>file:./module.config.properties</value>
        <value>classpath:jdbc.properties</value>
        <value>classpath*:*.config.properties</value>
      </list>
    </property>
  </bean>

總結(jié)

以上就是本文關(guān)于Spring用代碼來讀取properties文件實(shí)例解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

Spring實(shí)例化bean過程解析及完整代碼示例

Spring工廠方法創(chuàng)建(實(shí)例化)bean實(shí)例代碼

如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

最新評論

安顺市| 五莲县| 四川省| 宜阳县| 太白县| 济宁市| 绍兴县| 都兰县| 南通市| 岫岩| 贞丰县| 托克托县| 五台县| 天柱县| 潞西市| 五常市| 榆中县| 阿克陶县| 安塞县| 二连浩特市| 长子县| 天门市| 竹溪县| 南川市| 玛多县| 丹凤县| 琼海市| 娄底市| 安丘市| 仁寿县| 南召县| 芦溪县| 吕梁市| 广平县| 黔西县| 星子县| 杂多县| 邯郸县| 东港市| 深水埗区| 洛扎县|