spring中使用外部属性文件

通过PropertyPlaceholderConfigurer引入属性文件

<!--引入jdbc.propertys-->
<bean class =       "org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
 p:location="classpath:com/start/placeholder/jdbc.properties"
 p:fileEncoding="utf-8"/>
 <bean id = "database" class = "org.apache.common.dbcp.BasicDataSoucr" destroy-method="close"
 p:driverClassName="${driverClassName}"
 p:url = "${url}"
 p:username = "${username}"/>

通过PropertyPlaceholderConfiguer的location属性引入属性文件,这样,在定义bean的时候就可以引用属性文件中的属性了。

PropertyPlaceholderConfiguer的其他属性

  • locations可以指定多个属性文件
  • fileEncoding:属性文件的编码方式
  • order:如果在spring中定义了多个PropertyPlaceholderConfiguer,则通过该属性指定优先顺序。
  • placeHolderPrefix:”${“,默认的属性占位符
  • placeHolderSuffix:”$}”,默认的属性占位符

使用< context:property-placeholder > 引用属性文件

  <context:property-placeholder location="classpath:com/start/placeholder/jdbc.properties"/>

如果对属性进行加减密

需要继承PropertyPalceholderConfiguer

  /**
   *覆盖此方法,可以对属性文件中的所有值进行转换处理
   */
  void convertProperties(Properties props);

  /**
   *在加载属性文件,并读取属性文件中的每一个属性值时都会调用此方法,进行转换处理。
   */
  void convertProperty(String propName,String properValue);
  /**
   *和上一个方法类似,只是没有传入属性名
   */
  void convertPropertyValue(String properValue);

没有更多推荐了,返回首页