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

来源:互联网 发布:淘宝上怎么接dnf代练 编辑:程序博客网 时间:2024/05/05 13:03

平时项目中常用到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前缀介绍请移步:http://blog.csdn.net/gklifg/article/details/15336951

方法二:

测试没通过,加上后启动项目没报错,进入第一遍项目中的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;

原创粉丝点击