我正在訓練使用屬性文件來設置數據源整合Struts2的春季和Hibernate.I:
<context:property-placeholder location="classpath:db.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
這是db.properties如下:
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/sp3
jdbc.username=root
jdbc.password=123456
我找到關於這個在spring-reference中的例子,但是我只是不知道爲什麼我必須使用$ {jdbc.XXXXX}而不是$ {XXXXX}。我嘗試寫「username = root」,「password = 123456」,並且那麼它會導致「用戶拒絕訪問'管理員''本地主機'(使用密碼:是)」
如果使用表達式語言原則:$ {jdbc.username}含義「getJdbc()。getUsername();」因爲在struts-tag中,$ {model}表示getModel(),是不是?
我找到關於PropertyPlaceholderConfigurer和ComboPooledDataSource的源碼,但找不到關於getJdbc()的任何代碼;
謝謝您的幫助。
這是我的失敗。我的問題是:當我使用jdbc.driverClass = ....時,一切正常,但我嘗試將密鑰更改爲driverClass,它將導致異常「拒絕訪問用戶'管理員' @'localhost'(使用密碼:是)「 – MageXellos