본문 바로가기

BackEnd/Spring Boot

[Spring Boot] Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 해결하기

안녕하세요, 이번 글에서는 스프링 부트 프로젝트에서 기본 주소를 요청하는 법을 진행하다 발생한

 

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  오류 해결 방법을 다룹니다.

 

스프링 부트 프로젝트에서 기본 주소를 요청하는 법은 이전 글을 참고해 주세요.

 

이전 글: [Spring Boot] 스프링 부트로 회원 관리하기 (4) 기본 주소 요청하기

 

[Spring Boot] 스프링 부트로 회원 관리하기 (4) 기본 주소 요청하기

안녕하세요, 이번 글에서는 스프링 부트 프로젝트에서 기본 주소를 요청하는 법까지를 다룹니다.  스프링 부트 프로젝트에서 application.yml 파일 설정하는 법은 이전 글을 참고해 주세요. 이전

mnoqc.tistory.com

 

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 

 

스프링 부트 애플리케이션이 데이터베이스 관련 설정을 찾지 못하여 발생하는 오류입니다.

 

build.gradle 파일에 추가한 데이터베이스 관련 의존성을 application.yml 파일에서 로컬 데이터베이스와 연결하지 않았기 때문입니다.

 

1. Database 연결 정보 설정하기

 

application.yml 파일에 데이터베이스 연결 정보를 설정해 줍니다.

 

위의 설정에서 url의 db_mnoqc 부분, username, password 부분사용자의 데이터베이스에 맞게 설정해 줍니다.

 

 MySQL 데이터베이스를 사용하고 있으므로, 그렇지 않으신 분들은 driver-class-name 도 변경해 주셔야 합니다.

 

application.yml

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    #    각자 PC에 만들어놓은 Database이름을 써야 합니다.
    url: jdbc:mysql://localhost:3306/db_mnoqc?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
    #    mysql에 생성한 사용자 계정 정보를 써야 합니다.
    username: root
    password: 1111

 

2. Database 생성하기

 

MySQL Workbench를 열어 줍니다.

 

MySQL Connections+ 버튼을 클릭하면 새로운 데이터베이스 연결을 설정할 수 있는 창이 열립니다.

 

 

Connection Name, Username, Password를 입력한 후,

 

입력한 정보가 정확한지 확인하기 위해 Test Connection 버튼을 클릭하여 연결을 시도합니다.

 

 

모든 설정이 완료되면 OK 버튼을 클릭하여 새로운 연결을 저장합니다.

 

 

위에서 생성된 서버에 접속해 새로운 스키마를 생성하고 권한을 설정해 줍니다.

create database db_mnoqc;
grant all privileges on db_mnoqc.* to root@localhost;

 

db_mnoqc 부분 application.yml 파일에 설정된 데이터베이스 연결 정보에 맞게 설정해 줍니다.

 

 

좌측 Navigator > Schemas 탭을 클릭하여 스키마가 정상적으로 생성되었는지 확인해 줍니다.

 

3. build.gradle 의존성 추가하기

 

만약 문제가 해결되지 않는다면,

 

build.gradle 파일을 열어 dependencies 문단에 MySQL 데이터베이스에 연결하기 위한 JDBC 드라이버 의존성이 추가되어 있는지 확인해야 합니다.

 

build.gradle

dependencies {
	
	runtimeOnly 'com.mysql:mysql-connector-j'
	
}

 

의존성을 추가한 후, 1로 돌아가 다시 진행합니다.

 

3. 프로젝트 다시 빌드하기

모든 설정을 완료한 후, 프로젝트를 다시 빌드하여 변경사항이 적용되도록 합니다.

 

4. localhost:(포트번호) 재접속하기

주소창에 설정한 url를 입력해 다시 접속해 줍니다.

 

설정해 둔 index 값이 나오면 성공입니다.

 

다음 글: [Spring Boot] 스프링 부트로 회원 관리하기 (5) 회원가입 페이지 요청하기