在启动 Spring Boot 的项目的时候提示数据源未配置的错误。
09:52:08.333 [main] DEBUG o.s.b.d.LoggingFailureAnalysisReporter - Application failed to start due to an exception
org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:233)
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:174)
Spring 会提示你完整的导致启动错误的信息是:
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
Process finished with exit code 1
从上面的启动信息来看,已经说得非常清楚了,就是因为你配置了 Spring 的数据组件,但是你没有配置相应的数据源。
因为这个会导致你的启动失败。
有下面的集中解决办法:
最简单的解决办法就是在依赖中添加 H2 的数据库,如果你使用 Spring Batch 的话,这个组件也是需要的,因为 Spring 会使用 H2 为数据源。
如果你已经添加了数据库驱动,例如你添加了 mysql 的数据库驱动。
那么你需要制定 Mysql 的数据库连接参数。
spring.datasource.url=jdbc:mysql://localhost:3306/myDb
spring.datasource.username=user1
spring.datasource.password=pass
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
你可用在启动的时候不载入数据源配置。
可用在启动类上面,添加下面的注解。
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
你也可以在启动配置文件上面,添加下面的内容,这样能够保证你在启动的时候不载入数据源配置类。
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAuto
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!