본문 바로가기
프로젝트/selfmade Blog - V2

1. 프로젝트 생성

by zangsu_ 2023. 9. 6.

스프링 프로젝트 생성

https://start.spring.io/

위 링크에서 프로젝트를 생성하였다.

 

빌드 툴은 gradle, 버전은 2.7.15 버전을 선택하였다.

Jar 패키징을 사용하며 자바 11버전을 선택하였다.

 

의존성은 다음의 4가지를 추가하였다.

프로젝트를 생성 후 압축을 풀어 프로젝트를 열어보자.

DataSource 설정

프로젝트를 실행해 보면 에러가 나는 것을 볼 수 있다.
에러 메시지를 조금 더 살펴보자.

//...
Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded 
datasource could be configured.
//...

우리가 JPA 사용을 위해 의존성을 추가해 뒀는데, JPA를 사용하기 위한 DataSource 빈의 설정을 아무 것도 해 주지 않았기 때문에 나타나는 오류이다.
데이터베이스에 접근하기 위해서는 application.properties, application.yml 등의 설정파일에 데이터베이스에 대한 정보를 넣어 주어야 한다.

우선, 프로젝트에 사용할 DB를 먼저 생성하자.

create database selfmadeBlogV2;


이제 해당 데이터베이스 정보를 application.properties에 작성해 주자.

spring.datasource.url = jdbc:mysql://localhost:3306/selfmadeblogV2  
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver 
spring.datasource.username = [유저_이름]  
spring.datasource.password = [비밀번호]


자바 프로젝트와 MySQL을 연결하기 위한 드라이버 클래스는 com.mysql.cj.jdbc.Driver로 명시해 주면 된다.

connector-j 사용을 위한 의존성 추가

다시 실행해 보자.

또, 오류가 날 것이다.
오류 메시지를 살펴보자.

org...UnsatisfiedDependencyException: 
//... 
 Cannot load driver class: com.mysql.cj.jdbc.Driverat 
//...
Caused by: 
//...
 Cannot load driver class: com.mysql.cj.jdbc.Driverat 
//...
Caused by: 
//...
Process finished with exit code 1


계속해서 com.mysql.cj.jdbc.Driver을 가져오지 못한다고 경고한다.
해당 드라이버를 사용하기 위해서는 의존성을 하나 더 추가해 주어야 한다.

build.gradle에 다음의 코드를 추가하자.

//...
dependencies {  
   //...  
   implementation('mysql:mysql-connector-java:8.0.33')  
}
//...


이후 다시 프로젝트를 실행하면 정상실행이 될 것이다.

"localhost:8080"으로 접속해 보자.


Whitelable Error Page가 확인되면 정상적으로 프로젝트를 생성한 것이다.

웰컴 페이지 작성

마지막으로, 웰컴 페이지를 하나 작성해 두자.

main > resources > static 아래에 index.html 파일을 하나 생성해 두면 스프링이 자동으로 "localhost:8080" 으로 접속했을 때 해당 파일을 보여준다.

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Title</title>  
</head>  
<body>  
This is Selfmade Blog by Zangsu  
</body>  
</html>


프로젝트를 재시작 해 보자.

 


웰컴 페이지가 정상적으로 보인다.

 

'프로젝트 > selfmade Blog - V2' 카테고리의 다른 글

5-1. 회원 기본 기능 구현 (Repository)  (0) 2023.09.22
4. NGINX 사용  (0) 2023.09.19
3. 젠킨스 설치 및 빌드 자동화  (0) 2023.09.17
2. 배포 서버 환경 구축  (0) 2023.09.17
0. 프로젝트 시작 (ReadMe)  (0) 2023.09.06

댓글