版权声明:转载请标明链接
引入配置文件方法一:
用context:property-placeholder引入配置文件
然后${...}取即可
引入配置文件方法二:
用PropertyPlaceholderConfigurer,在spring的xml文件中配置。
2.1 使用场景一:
在配置数据库连接池的dataSource中引入jdbc.properties文件属性,很常用
配置数据库连接池时,在datasource获取配置文件的属性可以参考以下两篇文章,我就不详细写了,只简要贴一点代码。
1 http://www.cnblogs.com/wanggd/archive/2013/07/04/3172042.html
2 http://blog.csdn.net/lawmansoft/article/details/7434134
要在spring的xml中引用properties文件中定义的属性,需要进行特殊的加载,利用PropertyPlaceholderConfigurer
典型配置如下:用PropertyPlaceholderConfigurer,在spring的xml文件中配置。<bean id="common.propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreResourceNotFound" value="true" /><!--忽略未找到文件 -->
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="fileEncoding" value="UTF-8" />
<property name="locations">
<list>
<value>classpath*:conf/default-*.properties</value>
<value>classpath*:conf/*.properties</value>
</list>
</property>
</bean>
这个是调用的locations的list赋值方式,也可以单独一条
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" value="classpath:com/foo/jdbc.properties"/>
</bean>
properties中配置:
jdbc.driverClassName=org.hsqldb.jdbcDriver
下面的内容中,就可以通过
value="${jdbc.driverClassName}"
来访问properties的值
2.2 使用场景二:
在controller等层怎么使用配置文件中的属性。
例如:你在spring中引入了aaaaa.properties文件,aaaaa.properties文件中有一个属性a=http:8080。
当你想在controller定义一个变量的值为http:8080,如private String a="http:8080"可以这样写
呵呵,是不是很高大上呢。。。。使用场景还是比较多的。
注:debug后如果发现a没有注入值,在springmvc或者struts2的xml配置文件中加入