一般在项目中为了便于维护所以配置都要独立出来,写到配置文件中xx.properties中,现在总结下加载方式
1.简洁方式加载
<context:property-placeholder location="classpath:cfg.properties,classpath:cfg2.properties"/>
这种方式可以一次性把所以的配置文件一次加载进入
2.使用p标签加载方式
<bean class="com.web.utils.EncryptPropertyPlaceholderConfigurer"
p:location="classpath:xx.properties" p:fileEncoding="utf-8"/>
这种方式其中EncryptPropertyPlaceholderConfigurer是PropertyPlaceholderConfigurer的子类可以进行配置文件数据加密处理,当然可可以不加密处理
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="classpath:db.properties" p:fileEncoding="utf-8"/>
当需要进行加载多个配置文件时
<bean class="com.it.spring.utils.EncryptPropertyPlaceholderConfigurer"
p:locations="classpath*:x1.properties,x2.properties"
p:fileEncoding="utf-8" p:ignoreUnresolvablePlaceholders="true"/>
3.原始方式加载
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:email.properties" />
</bean>
如果须有加载多个配置文件时:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:x1.properties</value>
<value>classpath:x2.properties</value>
</list>
</property>
</bean>
第二种方式和第三中方式其实质是一样的,如果需要在不同 地方使用PropertyPlaceholderConfigurer加载配置文件,一定要在加入
<property name="ignoreUnresolvablePlaceholders" value="true" />
ignoreUnresolvablePlaceholders为是否忽略不可解析的Placeholder,如配置了多个PropertyPlaceholderConfigurer,则需设置为true。