spring读取properties文件的问题

wwwblike 2012-02-29 09:10:08
各位大吓,有空路过的时候帮忙看看呗。
系统启动日志:“INFO : org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from file [D:\Program Files\springsource\vfabric-tc-server-developer-2.5.0.RELEASE\appserver\wtpwebapps\WebServer\WEB-INF\classes\config.properties]”

-----------------------------------------------------------------------------------------------------------------------
config.properties内容:
default_encoding=UTF-8
locale=zh_CN
db.host=127.0.0.1
db.user=root
db.password=root

-----------------------------------------------------------------------------------------------------------------------
spring配置文件内容:
<context:property-placeholder location="classpath*:*.properties" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>net.sourceforge.jtds.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:jtds:sqlserver://127.0.0.1;DatabaseName=DBTEST;autoReconnect=true
</value>
</property>
<property name="username" >
<value>${db.user}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
</bean>
-----------------------------------------------------
上面是我的系统启动日志,明显已经把我的config.properties文件加载成功了,为什么我在spring配置文件中使用${db.user}就报错,报错信息:
严重: Servlet.service() for servlet [appServlet] in context with path [/WebServer] threw exception [Request processing failed; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: 用户 '${db.user}' 登录失败。] with root cause
java.sql.SQLException: 用户 '${db.user}' 登录失败。
...全文
1322 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
牙痴 2012-03-05
  • 打赏
  • 举报
回复
clean
wwwblike 2012-03-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 iisgirl 的回复:]

引用楼主 wwwblike 的回复:
各位大吓,有空路过的时候帮忙看看呗。
系统启动日志:“INFO : org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from file [D:\Program Files\springsource\vfabri……
[/Quote]
问题还是没有解决。
我尝试方法:
1、不使用properties,直接在XML里把相关信息写死,成功使用;
2、到tomcat发布目录下也能找到相关的properties;
wwwblike 2012-03-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 iisgirl 的回复:]

引用楼主 wwwblike 的回复:
各位大吓,有空路过的时候帮忙看看呗。
系统启动日志:“INFO : org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from file [D:\Program Files\springsource\vfabri……
[/Quote]
谢谢你的指点,我试试先。静等结果。
wwwblike 2012-03-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 pair00 的回复:]

同意楼上,而且既然你有配置文件,我个人觉得,
driverClassName
url
都到配置文件里面写好了,在Spring里面引用就行了,你这样,配置文件写一点,Spring里面写一点,感觉怪怪的。
[/Quote]
我本来开始就是全部写在配置文件里的,包括那个URL,可是启动的时候就报'${db.url}'无法连接。所以才把url写死的。
pair00 2012-03-01
  • 打赏
  • 举报
回复
同意楼上,而且既然你有配置文件,我个人觉得,
driverClassName
url
都到配置文件里面写好了,在Spring里面引用就行了,你这样,配置文件写一点,Spring里面写一点,感觉怪怪的。
昨日凡阳 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用楼主 wwwblike 的回复:]
各位大吓,有空路过的时候帮忙看看呗。
系统启动日志:“INFO : org.springframework.beans.factory.config.PropertyPlaceholderConfigurer - Loading properties file from file [D:\Program Files\springsource\vfabric-tc-server-developer……
[/Quote]

1、你把${db.password} 和${db.username} 替換成真實的用戶名和密碼,確定是否可以ok?
2、如果可以ok,說明是properties文件加載了,但是沒有解析到,有可能是為發布。
3、確認你的sqlserver在本地是可以正常打開(80端口沒有被占用)。
4、<context:property-placeholder location="classpath:config.properties" /> 用這個試試
5、config.properties這個你去發布的目錄下看看是否存在,已經內從是否與原來的一致。
6、把127.0.0.1 換成ip或者localhost試試。
jasmine123 2012-03-01
  • 打赏
  • 举报
回复
<value>jdbc:jtds:sqlserver://127.0.0.1;DatabaseName=DBTEST;autoReconnect=true 中的数据库地址没有写接口,数据库连不上,应该是<value>jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=DBTEST;autoReconnect=true
另外可能是:
1.服务没开
2.密码不对
3.可能没有DBTEST这个数据库
安特矮油 2012-03-01
  • 打赏
  • 举报
回复
你先直接在spring的配置里面把用户名那些都写死咯,以效验是否是没有读取到配置文件的问题。如果没读取到那么:1检查spring是否配置有问题;2classpath下是否存在该配置文件
京郊-金手指 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zyz1985 的回复:]
这个还真不知道了,配置文件没有什么问题
请尝试下下面的配置看看有无异常
<context:property-placeholder location="classpath*:*.properties" ignore-unresolvable="false"/>
另外请检查下
D:\Program Files\springsource\vfabric-tc-server-developer……
[/Quote]

检查下classes下文件,有时候编译可能没成功
LFDream 2012-03-01
  • 打赏
  • 举报
回复
Could not get JDBC Connection; nested exception is java.sql.SQLException: 用户 '${db.user}' 登录失败。] with root cause
java.sql.SQLException: 用户 '${db.user}' 登录失败。


不是你哪里的问题,是你JDBC的问题,你的端口号怎么没写呢?
游一游走一走 2012-03-01
  • 打赏
  • 举报
回复
这个还真不知道了,配置文件没有什么问题
请尝试下下面的配置看看有无异常
<context:property-placeholder location="classpath*:*.properties" ignore-unresolvable="false"/>
另外请检查下
D:\Program Files\springsource\vfabric-tc-server-developer-2.5.0.RELEASE\appserver\wtpwebapps\WebServer\WEB-INF\classes\config.properties 这个文件的类容.....用eclipse开发时,我遇见过没有同步到classes的情况
wwwblike 2012-03-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 iisgirl 的回复:]
<context:property-placeholder location="classpath:config.properties" />


如果这样还不行,请确认你的用户名和密码正确。
[/Quote]
用户名、密码肯定是正确的,这个应该是没有读取到配置文件里的内容。
昨日凡阳 2012-02-29
  • 打赏
  • 举报
回复


<context:property-placeholder location="classpath:config.properties" />


如果这样还不行,请确认你的用户名和密码正确。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧