윤개발

Vue.js + Spring Boot + MySQL+JPA 게시판 만들기(2) - 백엔드 프로젝트 생성 본문

프로젝트/Vue.js, Spring 게시판

Vue.js + Spring Boot + MySQL+JPA 게시판 만들기(2) - 백엔드 프로젝트 생성

DEV_SJ 2020. 7. 29. 16:43

이번 포스팅에는 Backend 프로젝트를 생성해보겠습니다.

 

Intellij Ultimate에서 기본적으로 제공하는 Spring Initializer를 사용해도 되지만

 

Community 버전을 고려하여 spring io에서 생성해보겠습니다. 아래 링크를 눌러주세요

https://start.spring.io/

링크를 누르면 아래와 같은 화면이 나오게 됩니다.

Project 항목은 Maven과 Gradle을 선택할 수가 있습니다.

(Maven과 Gradle은 프로젝트의 의존성을 관리해줍니다.)

 

저는 Maven으로 선택하고 언어는 Java,

Boot 버전은 2.2.9를 사용하겠습니다.

 

또한 그룹명등은 임의로 해주시면 되며

java 8을 사용하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

이제 오른쪽에 보시면 Dependencies가 있습니다. 프로젝트에서 사용할 Dependency들을 선택하겠습니다.

 

  • Spring Boot Devtools: 프로젝트가 변경되면 자동으로 재시작 시켜줍니다.
  • Lombok: getter, setter 등의 함수를  어노테이션을 사용하여 코드양을 줄일 수 있습니다.
  • Spring data JPA: MyBatis가 아닌 Spring data JPA를 사용합니다. 작성할 쿼리를 상당수 줄일 수 있습니다.
  • MySQL: MySQL db를 사용할 것이므로 추가해줍니다.
  • Spring web: web application을 위해 추가해줍니다.
  • thymeleaf: 프론트를 보여주기 위해 추가해줍니다.
  • Spring Security: JWT token 인증을 위해 해줍니다.

 

그리고 하단 Generate를 누르시면 Zip 파일이 생기며 다운로드 됩니다. 파일의 압축을 풀어주세요.

 

이제 Intelij로 프로젝트를 열어보겠습니다.

 

Open or Import를 사용하여 압축을 해제한 프로젝트를 열어줍니다.

(기존 프로젝트가 있다면 file - open으로 열어줍니다.)

 

 

 

 

 

 

 

 

 

추가하면 오른쪽 하단에서 Intelij가 열심히 의존성을 가져옵니다.

 

끝날때까지 기다려 줍니다.

 

 

 

 

 

모든 임포트가 끝나면 프로젝트 구성이 나오게 됩니다.

 

 

 

 

 

 

현재 프로젝트 > src > resources 는 properties를 사용하고 있습니다. ( 스프링 부트의 설정 파일)

 

이곳에서 데이터베이스 설정을 해주어야 합니다.

 

저는 yml을 좋아하므로 application.properties를 삭제하고 같은 자리에 application.yml을 새로 생성해보겠습니다.

 

 

 

 

 resource 폴더 아래에 application.yml을 생성하고 아래와 같은 내용을 입력해주세요.

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/board?serverTimezone=Asia/Seoul
    username: root
    password: q1w2e3r4t5Q!

  thymeleaf:
    prefix: classpath:/static/
    suffix: .html

datasource는 데이터베이스를 설정해준 것이고

 

thymeleaf는 html을 찾을 위치를 설정해준 것입니다. (prefix, suffix 설정)

 

이제 DB에 board 라는 새로운 스키마를 생성해주세요.

 

저는 Intelij에서 MySQL에 접속하여 사용하였습니다. ( 오른쪽 상단을 클릭하면 DataBase를 설정할 수 있습니다.)

 

이 기능이 없다면 아마 community가  아닐까 싶습니다. 아쉽지만 워크벤치를 이용해서 스키마를 생성해주세요.

 

 

데이터베이스를 클릭하고 + > Data Source > MySQL 을 선택합니다.

user는 root password는 q1w2e3r4t5Q!로 설정해 주고 Test Connection을 누르면 아래와 같은 창이 나옵니다. (JDBC 가 없을 경우 하단에 설치 버튼을 눌러주세요!)

 

 

 

 

 

 

서버시간이 설정되어 있지 않다고 나옵니다. Set time Zone을 눌러 Asia/Seoul로 설정해줍시다.

후에 ok를 눌러줍니다.

스키마에서 오른쪽 마우스버튼을 클릭 한 후 new > schema 를 선택해줍니다.

그리고 board 라는 이름으로 스키마를 생성해줍시다.

 

이제 데이터베이스 설정이 완료되었습니다.

 

인텔리제이 상단에 Run Application(초록색 화살표 버튼)을 눌러주세요!

 

그럼 아래와 같이 프로젝트가 잘 실행되는 것을 볼수 있습니다.

 

이로써 백엔드 프로젝트 설정이 완료되었습니다.

 

다음 포스팅으로는 프론트 설정을 진행해보겠습니다.

 

전체 코드는 아래 링크에서 확인할 수 있습니다.

https://github.com/sungjaeyoon/board

 

sungjaeyoon/board

블로그에 포스팅중인 게시판 만들기입니다. Contribute to sungjaeyoon/board development by creating an account on GitHub.

github.com

 

Comments