通过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);