Spring

Spring Boot DB 오류해결

JeonInwoo 2020. 1. 20. 15:07

0. Github

 

https://github.com/hodolee246/on-my-own/tree/master/DBConfig

 

1. 개요

 

Spring Boot 프로젝트에서 오류 원인 및 해결방법

"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" ("데이터 소스를 구성하지 못하였습니다.")

 

2. 문제 및 원인

 

Maven 기준 pom.xml에 데이터베이스를 사용하기 위한 dependency가 존재하는 경우 @SpringBootApplication 에서 자동으로 데이터베이스 값을 설정하려고 시도하지만 사용자는 데이터베이스 값을 입력을 안했기에 발생하는 에러입니다.

 

아래의 오류가 발생을 하면서 프로젝트 실행에 실패 합니다.

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

3. 해결방법 (3중 1택)

 

3.1 application.properties 및 application.yml 파일에 데이터 소스를 추가

properties
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=

yml
spring:
  datasource:
    driver-class-name:
    url:
    username:
    password:

3.2 Configuration 생성 (Bean을 이용하여 DB사용)

별도의 클래스를 생성해서 진행

@Configuration
public class DBConfiguration {
	
    @Bean
    public DataSource datasource() {
      return DataSourceBuilder.create()
      .driverClassName("")
      .url("")
      .username("")
      .password("")
      .build(); 
    }
    
}

3.3 DataSourceAutoConfiguration 제외 (DB를 사용안한다는 의미)

springboot 생성 시 자동으로 생성되는 Application.class 입력

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
public class Sample01Application {

	public static void main(String[] args) {
		SpringApplication.run(Sample01Application.class, args);
	}

}