您的位置:首页 > 编程语言 > Java开发

spring学习笔记——摘录:对properties文件引用的两种方法

2013-11-12 00:15 363 查看
平时项目中常用到properties文件作为配置项的管理,在spring中必然少不了这种配置,引用properties有几种不同的方法在此罗列出来:

方法一:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="classpath:config.properties"
p:fileEncoding="utf-8" />


这种方法最为普通,声明一个class为PropertyPlaceholderConfigurer的bean,从名字也能看出来,“属性占位配置类”,对其配置location与fileEncoding属性即可实现对properties文件的引用。这里的location属性用到了classpath前缀,表示从src路径下开始检索,而我得properties文件放在src根目录下故无需其他路径名,直接写文件名即可。

有关spring的url前缀介绍请移步:/article/11106599.html

方法二:
测试没通过,加上后启动项目没报错,进入第一遍项目中的index时就会报错说密码不对,具体原因还没找到。有成功的哥们可以分享下自己的经验。

<context:property-placeholder location="classpath:config.properties" file-encoding="utf8" />
<bean id="utf8" class="java.lang.String" >
<constructor-arg value="utf-8" />
</bean>

这个配置比较古怪,本来应该直接在第一行标签里写utf-8的可是书上说有bug,只能照这种写法来(这里utf8能不能引用到utf8的bean对象我表示很怀疑),问题是这种写法也不对,后来试了不加file-encoding的配置也包同样的错误。

配置好后就可以在配置文件中使用占位符了

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbcDriver}">
</property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</bean>

不仅可以在applicationContext中使用占位符,也可以在注解中使用@value("${propName}")把配置中的字面值注入到类的属性中。

@value("${jdbcDriver}")
private String jdbcDriver;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: