일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- thymeleaf
- 정보처리기사실기요약
- cmd에서java파일실행
- 정보처리기사
- 타임리프SpringEL
- 타임리프유틸리티객체
- 정처기실기
- mysql
- 개체관계모델
- MySQL설치순서
- spring
- 타임리프 표현식
- ER모델
- 타임리프기본객체
- 정보처리기사실기
- 타임리프 특징
- 이클립스없이cmd
- 스프링부트설정
- 타임리프URL
- 타임리프Escape
- mysql설치하기
- 타임리프Unescape
- git
- 정처기실기요약
- 타임리프날짜
- mysql다운로드
- mybatis
- 타임리프변수
- HelloWorld출력
- java
- Today
- Total
ye._.veloper
[ Spring Boot ] 1. 게시판 만들기 - 초기 개발 설정하기 본문
스프링 프레임워크로 프로젝트를 진행하다 문득 스프링 부트로 옮겨서 게시판을 작성해보고 싶은 생각이 들었다.
그래서 구글링을 하여 '인텔리제이 스프링 부트 게시판'에 대한 글을 따라하며 프로젝트를 하나하나 설정해봤고,
그 과정을 내가 기억하기 위해 작성해보려 한다.
게시판 따라 만들기 시작 !
설정 환경
1. IntelliJ Ultimate
2. jdk 13
☁ 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")를 합쳐 실행해본다.
위와 같이 화면이 잘 나오면 성공이다.
☁ H2 DataBase 연동하기
위 링크에 접속하여 자신의 OS에 맞는 버전을 다운로드 받는다.
Windows를 사용한다면, Windows Installer를 다운로드 받고
그 외의 OS를 사용한다면, All Platforms를 다운로드 받으면 된다.
다운로드를 다 받았다면 파일을 맨 처음 내가 작성한 폴더 아래에서 압축을 풀어준다.
잘 동작하는지 확인하기 위해 아래의 링크로 이동한다.
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.
'Spring' 카테고리의 다른 글
[ SpringMVC2 ] Thymeleaf (변수 - SpringEL) (0) | 2023.04.25 |
---|---|
[ SpringMVC2 ] Thymeleaf 정의 | 기본 기능 (0) | 2023.04.23 |
[ IntelliJ ] Unmapped Spring configuration file : 파일명 (0) | 2023.02.14 |
[ Error ] nested exception is org.apache.ibatis.exceptions.PersistenceException 오류 (0) | 2023.02.05 |
[ Spring Framework Documentation ] 공식 문서 번역 1 - Overview (0) | 2023.01.24 |