【遇到的那些bug们】- org.springframework.jdbc.datasource.Transa

本文详细介绍了在SpringBoot项目中使用MyBatis Plus时遇到的ClassNotFoundException问题,特别是关于TransactionAwareDataSourceProxy类未找到的错误。通过分析,发现原因是缺少spring-boot-starter-jdbc依赖,补充该依赖并正确配置数据源后,问题得以解决。
摘要由CSDN通过智能技术生成

错误:Caused by: java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy

部分完整错误信息:
Caused by: java.lang.ClassNotFoundException: org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 86 more

 

项目:

 

springboot + mybatis-plus ,我们是统一配置文件,将数据连接信息放到了 jdbc.properties 中。所以需要单独用java注解的方式配置数据源。

如果是放到 application.properties 中,配置信息:

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/hiup_monitor_data
spring.datasource.username=root
spring.datasource.password=root

springboot是可以自动注入的DataSource并将DataSource注入到sqlSessionFactory中。。

 

如果是自己引入 jdbc.properties配置数据源。

@Bean
public DataSource dataSource(){
    DruidDataSource dataSource = new DruidDataSource();
    dataSource.setUrl(dataSourceComponent.getUrl());
    dataSource.setDriverClassName(dataSourceComponent.getDriverName());
    dataSource.setUsername(dataSourceComponent.getUser());
    dataSource.setPassword(dataSourceComponent.getPassword());
    return dataSource;
}

@Bean("sqlSessionFactory")
public SqlSessionFactory sqlSessionFactory() throws Exception {
    MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
    sqlSessionFactory.setDataSource(dataSource());
    sqlSessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MAPPER_LOCATION));
    sqlSessionFactory.setTypeAliasesPackage(ENTITY_LOCATION);
    sqlSessionFactory.setPlugins(new Interceptor[]{new MybatisInterceptor()});
    return sqlSessionFactory.getObject();
}

自己配置。

maven 项目,必须引入的jar包

<!--<dependency>-->
    <!--<groupId>org.springframework.boot</groupId>-->
    <!--<artifactId>spring-boot-starter-jdbc</artifactId>-->
    <!--<version>${springboot.version}</version>-->
<!--</dependency>-->

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.6</version>
</dependency>

解决方法:漏添加spring-boot-starter-jdbc   jar包

我就是忘记了添加spring-boot-starter-jdbc 导致一直报错。这个真是不应该。。。。。

添加完之后,maven clen, install, build success。

启动项目成功。。。。。

 

2019-03-04 11:20:42.588  INFO 30568 --- [           main] com.hiup.ProgramMonitorServer            : 启动springBoot成功.

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值