SpringMVC+MyBatis+C3P0配置出错(解决方案)

来源:互联网 发布:端口号范围作用 编辑:程序博客网 时间:2024/05/16 12:25

一般我们使用spring配置dataSource的时候会用到这样的配置

<bean id="dataSource" class="com.mchange.v2.c3p0.C3P0PooledDataSource">        <property name="driverClass" value="com.mysql.jdbc.Driver"/>        <property name="jdbcUrl" value="jdbc:mysql:///warehouse?characterEncoding=utf8"/>        <property name="user" value="root"/>        <property name="password" value="123"/>    </bean> 

在一次项目运行中出现了如下问题
这是报错信息
在大佬的帮助下定位到了
Annotation-specified bean name ‘c3P0PooledDataSourceMBean’ for bean class [com.mchange.v2.c3p0.mbean.C3P0PooledDataSourceMBean] conflicts with existing, non-compatible bean definition of same name and class [com.mchange.v2.c3p0.jboss.C3P0PooledDataSourceMBean]
这句话
发现是创建c3p0的bean的时候创建了mbean 和jboss两个bean进而去找了jar包的信息
发现jar包中
jar包中的信息
两个C3P0PooledDataSource的class文件,由此发现平时的c3p0配置中class="com.mchange.v2.c3p0.C3P0PooledDataSource"会导致产生两个c3p0的bean导致冲突,所以应该将这条配置信息改成<bean id="dataSource" class="com.mchange.v2.c3p0.mbean.C3P0PooledDataSource">这样,就能避免冲突

原创粉丝点击