ssm整和问题,求大神解答

图片说明
图片说明
Error creating bean with name 'dataSource' defined in class path resource [spring.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'driver' of bean class [org.apache.commons.dbcp.BasicDataSource]: Bean property 'driver' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

你看下“driver”这个属性名称是不是搞错了,ctrl+左键点进去看看源码,并不是所有数据源的驱动类字段都是“driver”,也有的叫“driverClassName”

在spring.xml 里面添加试试看

<context:property-placeholder location=classpath*:jdbc.properties/>

我感觉你那个class的值有问题你可以ctrl shift+t搜一下看看名字对不!!

context:property-placeholder 属性加载在Spring容器启动时会加载属性配置文件且只加载一次,如果在mybaties加载前已经加载过属性文件那这里就读取不到了,
最简单的解决办法就是写死在这里或者这里的配置加载置前

看你配置的是dbcp连接池 应该是这样 。。。
如果是c3p0连接池应该是
里得 name 给的应该是该类里面的属性名字 value 是给这个属性注入的值 你可以 ctrl + 左击 class 里的org.apache.commons.dbcp.BasicDataSource 看看是否有 driverClassName 属性

dbcp连接池 property name="driverClassName" c3p0连接池 property name="driverClass"

配置文件用jdbc:就行了

点击class="org.apache.commons.dbcp.BasicDataSource是否找到源代码,上面说你“dataSource”的bean的创建错了

在spring.xml 里面添加试试看

dbcp连接池里面property里面的不叫driver而是叫做driverClassName,你把xml里面的name=“driverClassName”就可以了

是不是有冲突,换个名字试试,比如jdbc.driver

dbcp要用driverClassName,不是driver

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
p:driverClassName="org.h2.Driver"
p:url="jdbc:h2:tcp://localhost/~/spitter"
p:username="sa"
p:password=""
p:initialSize="5"
p:maxActive="10" />

配置文件用jdbc:就行了,在spring.xml 里面添加试试看

配置文件用jdbc:就行了,在查查百度

springmvc.xml 里面配置: