文件在 E:\学习文档子目录压缩\数据库\DruidDataSource连接池报错报属性没有set方法.doc
和
我的网盘/我的笔记/学习文档子目录压缩\数据库\DruidDataSource连接池报错报属性没有set方法.doc
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/shiro"></property>
<property name="username" value="root"></property>
<property name="password" value="password"></property>
</bean>
Invalid property 'jdbcUrl' of bean class [com.alibaba.druid.pool.DruidDataSource]: Bean property 'jdbcUrl' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
查源码知道:
由于spirng在初始化DruidDataSource对象时 会调用 property name="xxx" 的
首字母大写
setXxx方法 将property 等 value值 set进去
查
DruidDataSource 继承的abstract class DruidAbstractDataSource 抽象类中 驱动,url,用户名,密码的SET方法分别为
public void setDriverClassName(String driverClass) {}
public void setUrl(String jdbcUrl) {}
public void setUsername(String username) {}
public void setPassword(String password) {}
所以正确的写法应该为
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/shiro"></property>
<property name="username" value="root"></property>
<property name="password" value="password"></property>
</bean>