Stay Hungry Stay Foolish

PROJECT/[스프링 부트] 게시판

[스프링 부트] 2. 게시판 만들기 프로젝트 생성

dev스카이 2023. 10. 22. 17:10

01. 프로젝트 생성

→ 링크를 클릭하면 spring initializr로 이동한다. https://start.spring.io

인텔리제이에서도 프로젝트를 생성할 수 있지만, 그보다 더 편하게 웹에서 생성할 수 있는 spring initializr라는 것을 통해서 프로젝트를 새로 생성한다. 아래와 같이 설정을 해준다.

• 관리 툴 : Gradle - Groovy (Gradle : 빌드 도구)

• 언어 : Java
• 스프링 부트 버전 : 3.1.0 (최신버전) (SNAPSHOT은 개발하고 있는 버전이기 때문에 선택X)
•  프로젝트 이름 : Traveling.Webproject
•  자바 버전 : 17 (스프링 부트 버전 3.0.X 이상을 사용하고자 한다면 자바 17을 선택해야 한다.)
•  Dependency(의존성 도구) 추가
          - Spring Web : 톰캣을 기본으로 탑재하고, 웹 개발에 필요한 의존성
          - Spring Data JPA : 기본적인 CRUD 메서드 제공
          - MySQL Driver : MySQL과 연동하기 위한 드라이버(MariaDB로 할 시 MariaDB Driver 의존성 추가)
          - Thymeleaf : 서버에서 클라이언트에게 응답할 브라우저 화면을 만들어주는 역할

          - Lombok : 반복되는 메소드 작성 코드를 줄여주는 코드 다이어트 라이브러리

 

GENERATE를 눌러주면 board라는 zip 파일이 형성된다. 압축을 풀어주고 인텔리제이에서 파일을 연다.

 

※ 중간에 DB때문에 오류가 나서 MariaDB로 안 하고 MySQL과 연동하는 걸로 했다. MariaDB로 하니깐 충돌도 생기고 포트 문제 등 여러 에러가 떴는데 해결 불가라서 기존에 있던 MySQL과 하는 걸로 정했다.

 

02. 인텔리제이에서 파일 열기

인텔리제이를 실행하여 open을 클릭하고 압축을 풀어준 파일을 찾아서 클릭한다.

(인텔리제이를 실행하지 않고 파일을 바로 여는 방법도 있다.  파일 내에 build.gradle이라는 걸 클릭하면 알아서 실행한다.)

 

실행해보기

정상적으로 빌드가 되는지 board > main > java > com.study.board > BoardApplication에서 실행을 해본다.

 

오류

해결 방법

속성에서 Gradle을 검색 or Build > Build Tools > Gradle에 들어가서 위와 같이 설정한다. 그리고 다시 실행.

 

DB오류를 제외하고, 정상 작동하는 것을 볼 수 있다.

jpa를 사용하려면 db와 연결이 되어 있어야 한다. 

 

03. MySQL Workbench에서 스키마 생성

해당 아이콘을 클릭하고 board라는 스키마를 생성한다. 

그러면 board라는 스키마가 생성된 것을 볼 수 있다.

(sakila, sys, world라는 테이블이 있는데 삭제해도 된다. 오른쪽 마우스를 클릭하고 drop schema 해주면 된다.)

 

04. 프로퍼티 추가

board > src > main > resources > application.properties에서 아래와 같이 추가해준다.

server.port=8080 
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/board?serverTimezone=UTC&characterEncoding=UTF-8

 

MariaDB일 경우

server.port=8080 
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/board

 

05. 실행하기

chrome창에서 localhost:8080 입력해주면 아래와 같은 페이지가 뜬다. 그럼 성공한 것이다.

인텔리제이 상단에 초록색 run 아이콘을 눌러야 실행이 된다.

06. 컨트롤러 생성

board > src > main > java > com.study.board 에 controller 패키지를 생성한다. (패키지명 : controller)

 

패키지 내에 클래스를 생성한다. 적혀 있는 패키지명 뒤에 적어야 한다. (클래스명 : BoardController) 

그리고 아래와 같이 클래스 위에 @Controller를 적어주면 자동으로 import 한다.

package com.study.board.controller;

import org.springframework.stereotype.Controller;

@Controller
public class BoardController {
}

@Controller 어노테이션을 부여한다고 하는데, 이는 스프링이 컨트롤러인 걸 알 수 있게 해주는 것이다.

package com.study.board.controller;

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

@Controller
public class BoardController {
    @GetMapping("/")
    @ResponseBody
    public String main() {
        return "Hello World"
    }
}

@GetMapping - 주소로 들어갔을 때 /를 자동으로 붙여준다.

@ResponseBody - main에 적었던 Hello World를 띄워주는 역할을 한다.

 

다시 실행

localhost:8080으로 들어가면 Hello World가 찍힌 페이지가 보일 것이다. 이러면 성공한 것이다.