![](/img/trans.png)
[英]Class org.apache.commons.dbcp.BasicDataSource not found
[英]Error loading class [org.apache.commons.dbcp.BasicDataSource] for bean with name 'dataSource'
* 是控制台日志错误*
java.lang.IllegalStateException:无法加载ApplicationContext
由以下原因引起:org.springframework.beans.factory.BeanCreationException:创建名称为'loginLogDao'的bean时出错:自动连接依赖项的注入失败; 嵌套的异常是org.springframework.beans.factory.BeanCreationException:无法自动连线字段:私有org.springframework.jdbc.core.JdbcTemplate com.spring.dao.LoginLogDao.jdbcTemplate; 嵌套的异常是org.springframework.beans.factory.CannotLoadBeanClassException:在类路径资源[applicationContext.xml]中为名称为“ dataSource”的bean加载类[org.apache.commons.dbcp.BasicDataSource]时出错:类文件或依赖阶级 嵌套的异常是java.lang.UnsupportedClassVersionError:.class文件中的版本号错误相关原因:org.springframework.beans.factory.CannotLoadBeanClassException:加载名称为“ dataSource”的bean的类[org.apache.commons.dbcp.BasicDataSource]时出错在类路径资源[applicationContext.xml]中定义:类文件或相关类的问题; 嵌套的异常是java.lang.UnsupportedClassVersionError:.class文件中的版本号错误
下面是我的applicationContext.xml
<context:component-scan base-package="com.spring.dao" />
<context:component-scan base-package="com.spring.service" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
p:driverClassName="com.mysql.jdbc.Driver"
p:url="jdbc:mysql://192.168.196.5:3307/apu"
p:username="dev"
p:password="password" />
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
p:dataSource-ref="dataSource" />
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource" />
<aop:config proxy-target-class="true">
<aop:pointcut id="serviceMethod" expression="execution(* com.spring.service..*(..))" />
<aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" />
</tx:attributes>
</tx:advice>
下面是我的测试文件
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.spring.model.User;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/applicationContext.xml"})
public class TestUserService {
@Autowired
private UserService userService;
@Test
public void hasMatchUser() {
boolean b1=userService.hasMatchUser("admin", "123456");
boolean b2=userService.hasMatchUser("admin", "11111");
assertTrue(b1);
assertTrue(!b2);
}
@Test
public void findUserByName(){
User user = userService.findUserByUserName("admin");
assertEquals(user.getUserName(),"admin");
}
}
我不知道该如何解决该问题,谁可以帮助我? 非常感谢!
看起来您必须更改org.apache.commons.dbcp.BasicDataSource
的jar文件。
UnsupportedClassVersionError: Bad version number in .class file Related cause:
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class
[org.apache.commons.dbcp.BasicDataSource
显示错误的版本号错误,因为您可能已将Java文件编译为具有一个版本的类文件,并尝试使用较早版本运行它。 检查开发和其他环境中是否没有版本冲突。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.