1. 问题
初学者在使用IDEA创建Spring Boot应用后直接运行会遇到报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedd,如下图:

2. 解决方案:
1)方案一:适用没有使用数据库应用,详细解决方案如下:
在@SpringBootApplication
中加exclude
属性阻止Spring Boot自动配置JDBC。
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
public class XXXSpringApplication {
public static void main(String[] args) {
SpringApplication.run(UserManagerApplication.class, args);
}
}
2)方案二:适用应用中使用了数据库,详细解决方案如下:
通过在application.properties
文件中配置数据库的信息来解决这个问题,详细的配置方案如下:
-
1. 在项目中找到
application.properties
文件,具体路径:src/main/resources/applicatio.properties
,请参考下图:

-
2. 在文件中配置数据的详细信息
如上图所示,新建的工程的application.properties
初始是一个空文件,没有任何内容,请复制下面的配置信息到文件中
#数据库相关配置
spring.datasource.url=jdbc:mysql://localhost:3306/databaseName
spring.datasource.username= userName
spring.datasource.password= password
- 第一行的
spring.datasource.url
是数据库的地址,3306
是MySql默认的本地端口,databaseName
需要替换成您自己创建的数据库名称; - 第二行和第三行中
spring.datasource.username
和spring.datasource.password
分别声明了数据库的用户名账号和密码;
3. 原因分析:
原因很明显,就是在应用中没有配置datasource的一些相关属性。Spring Boot的自动配置功能会根据加入classpath的依赖,尝试自动配置bean。因为我们加入了jdbc这个依赖,Spring Boot就会尝试自动配置JDBC DataSource。但问题是Spring Boot还没有得到足够的信息进行自动配置。
网友评论