错误: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成功.