ye._.veloper

[ Spring Boot ] 1. 게시판 만들기 - 초기 개발 설정하기 본문

Spring

[ Spring Boot ] 1. 게시판 만들기 - 초기 개발 설정하기

ye._.veloper 2023. 2. 11. 13:01

스프링 프레임워크로 프로젝트를 진행하다 문득 스프링 부트로 옮겨서 게시판을 작성해보고 싶은 생각이 들었다.

그래서 구글링을 하여 '인텔리제이 스프링 부트 게시판'에 대한 글을 따라하며 프로젝트를 하나하나 설정해봤고,

그 과정을 내가 기억하기 위해 작성해보려 한다.

 

게시판 따라 만들기 시작 !

 

설정 환경

1. IntelliJ Ultimate

2. jdk 13

 

☁ Spring Boot 설정 파일 생성하기

https://start.spring.io/

위 링크에 들어가 스프링 부트 프로젝트 생성해 필요한 빌드 파일을 쉽게 작성할 수 있다.

Spring Boot 설정 파일 생성하기

 ◽ Project : Gradle-Groovy

 ◽ Language : Java

 ◽ Spring Boot : 2.7.8

 ◽ Project Metadata : 위의 프로젝트명과 패키지 경로는 내가 원하는 대로 설정하였다.

     - Pacakaging : Jar

     - Java : 11

 ◽ Dependencies : 오른쪽에 위치한 Add Dependencies를 클릭하여 필요한 라이브러리를 추가한다.

    - Spring BOot Dev Tools

    - Thymeleaf

    - Lombok

    - H2 Database

    - Spring Web

    - MyBatis Framework

 

위와 같이 설정해주고 나서 GENERATE 버튼을 클릭해 파일로 생성해준다.

zip 파일로 압축된 상태로 다운로드 되는데, 그 파일을 내가 원하는 경로에 압축 해제 시켜준다.

 

 

☁ IntelliJ에서 프로젝트 생성하기

 

압축 해제를 했다면 IntelliJ를 실행하고, 상단 메뉴 탭에서 

File ➡ New ➡ Open ➡ 압축 해제한 파일 안의 build.gradle 파일을 클릭한 뒤 OK를 누르면 아래와 같은 알림창이 뜬다.

 

 

 

이 때, Open as Project로 파일을 열어주면, 프로젝트 빌드 진행이 되고 완료까지 되는 것을 볼 수 있다.

 

💡 빌드 시 발생한 오류에 관한 내용은 No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.0 was found.에 따로 정리해두었다.

 

☁ H2 Database 설정하기

IntelliJ 내에서 application.properties 파일을 찾아준다.

파일 찾는 단축키는 Shift를 2번 누르면 된다.

 

아래의 코드를 미리 추가해준다.

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

spring.h2.console.enabled=true
spring.h2.console.path=/h2

spring.devtools.restart.enabled=true

나중에 h2 database 설정할 때 jdbc:h2:mem:testdb 이라는 url 을 JDBC url 에 입력해야 한다.

 

☁ Thymeleaf 동작 확인하기

사용할 view인 Thymeleaf가 제대로 동작하는지 확인해보기

◽ main ➡ resources ➡ templates 폴더 우클릭 ➡ boards 폴더 생성 (New ➡ directory로 생성하기) ➡ 테스트할 내용 적기

 

☁ Controller 생성하기

◽ main ➡ java 폴더 안의 내가 생성한 com.study.springboot 패키지 안에 controller라는 Package를 하나 더 추가한다.

◽ Controller의 이름은 BoardController로 하였고, 내용은 오른쪽과 같이 작성하였다.

   코드는 아래와 같다.

package com.study.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller

@RequestMapping("/board/**")
public class BoardController {
    @GetMapping
    public String Hello(){
        return "/boards/hello";
    }
}

   ◾ @Controller : 컨트롤러 역할을 수행하는 클래스라는 것을 명시하는 것

   ◾ @RequestMapping : "/board/**"로 접근하는 url 처리를 이 클래스(BoardController)에서 맡는다는 것을 명시하는 것

   ◾ @GetMapping : "/hello"로 접근하는 url처리를 Get으로 처리한다는 것을 명시하는 것

 

☁ 테스트 해보기

IntelliJ 우측 상단의 버튼을 눌러 스프링 부트를 구동한다.

제대로 작동한다면 콘솔에서 부트를 실행하는 진행 과정을 보여줄 것이다.

구동이 완료되었다면, 크롬 창에 로컬 주소("http://localhost:8080")와 내가 설정한 경로 ("/board/hello")를 합쳐 실행해본다.

Spring boot 구동 후 화면

위와 같이 화면이 잘 나오면 성공이다.

 

☁ H2 DataBase 연동하기

https://www.h2database.com/

위 링크에 접속하여 자신의 OS에 맞는 버전을 다운로드 받는다.

 

Windows를 사용한다면, Windows Installer를 다운로드 받고

그 외의 OS를 사용한다면, All Platforms를 다운로드 받으면 된다.

H2 Database 홈페이지

다운로드를 다 받았다면 파일을 맨 처음 내가 작성한 폴더 아래에서 압축을 풀어준다.

잘 동작하는지 확인하기 위해 아래의 링크로 이동한다.

 

http://localhost:8080/h2

 

그럼 아래와 같이 H2 Database가 실행된 화면이 뜰 것이다.

 

위의 application.properties에서 설정했던 아래 코드의 주소(jdbc:h2:mem:testdb)를 JDBC URL에 작성해준다.

spring.datasource.url=jdbc:h2:mem:testdb

그리고 Test Connection을 해본다. 

Test successful이 뜨면 연결에 성공한 것이니 왼쪽의 Connect 버튼을 눌러 H2 Database와 연결한다.

 

☁ H2 Database에 테이블 생성하기

CREATE TABLE tbl_board(
    boardId Long auto_increment,
    title varchar (30) not null,
    content varchar (30) not null,
    name varchar (30) not null,
    primary key(boardId)
);

위의 쿼리를 H2 Database의 실행창에 작성하고 Ctrl + Enter 또는 위의 RUN 버튼을 클릭하면 

애래 사진 왼쪽에 TBL_BOARD 테이블이 생성된 것을 확인할 수 있다.

 

☁ 생성된 테이블에 값 넣기(INSERT)

위의 테이블을 생성한 것과 동일하게 아래의 코드를 실행창에 적고, 쿼리를 실행한다.

INSERT INTO tbl_board( title, content, name) VALUES ('제목', '내용', '이름')

값이 잘 들어갔는지 확인하기 위해 조회를 위한 쿼리인 SELECT를 하여 아래와 같이 값을 확인하면 성공이다.

 

 

Ref.

[게시판 만들기] IntelliJ를 활용한 게시판 만들기 1탄

Comments