Framework/Spring
Spring 오류 정리 1. Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Cs.Woo
2021. 8. 5. 23:16
## 에러메세지
... Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. ...
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
## 원인
Maven 기준 pom.xml에 데이터베이스를 사용하기 위한 dependency가 존재하는 경우 @SpringBootApplication 에서 자동으로 데이터베이스 값을 설정하려고 시도하지만 사용자는 데이터베이스 값을 입력을 안했기에 발생하는 에러이다.
## 해결방법
다음의 세가지 방법 중 하나를 택하여 적용하면 된다.
1.1 application.properties 또는 application.yml 파일에 DB관련 정보를 추가
properties
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=
yml
spring:
datasource:
driver-class-name:
url:
username:
password:
1.2 Configuration 생성(Bean 을 이용하여 DB사용)
@Configuration
public class DBConfiguration {
@Bean
public DataSource datasource() {
return DataSourceBuilder.create()
.driverClassName("")
.url("")
.username("")
.password("")
.build();
}
}@Configuration
public class DBConfiguration {
@Bean
public DataSource datasource() {
return DataSourceBuilder.create()
.driverClassName("")
.url("")
.username("")
.password("")
.build();
}
}
1.3 DataSourceAutoConfiguration 제외 ( DB를 사용하지 않겠다고 명시 )
스프링 프로젝트의 기본 파일인 Application.class 의 @SprinngBootApplication 어노테이션에 프로퍼티를 추가하는 방법이다.
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
public class Sample01Application {
public static void main(String[] args) {
SpringApplication.run(Sample01Application.class, args);
}
}