在用spring配置文件applicationContext.xml中引入src下的properties文件
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- DriveManagerDataSource spring自带数据源实现对象 -->
<bean id="dataSource" class="${dataSource}"> <!-- 这些配置Spring在启动时会去jdbc.properties中找 -->
<property name="driverClassName" value="${driverClassName}" />
<property name="url" value="${url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${password}" />
</bean>
jdbc.properties:
dataSource=org.springframework.jdbc.datasource.DriverManagerDataSource
driverClassName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:orcl
username=zhangsan
password=zs123
然后就报了Exception in thread "main" java.sql.SQLException: ORA-01017: invalid username/password; logon denied(大体就是无效的用户名或密码,登录失败)
自己用工具登录也没错啊,nm..
这尼玛,折腾半天,上网查了一下 有人说是 username这个变量名和系统的变量存在重复,遂修改这个变量名称 问题解决了。
修改了所有properties变量名称
jdbc.dataSource=org.springframework.jdbc.datasource.DriverManagerDataSource
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username=zhangsan
jdbc.password=zs123
相对应的在applicationContext.xml中 修改取值变量
<bean id="dataSource" class="${jdbc.dataSource}"> <!-- 这些配置Spring在启动时会去jdbc.properties中找 -->
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
总结:要养成良好的书写规范,你踩过的坑,别人也早就踩过了,站在巨人的肩膀上,你会看的更远。