스프링 부트(Spring Boot)로 간단한 게시판 만들기 - 1(시작)
자바는 현재 깃허브 기준 4번째로 많이 사용되는 언어이다. 전 세계 개발자라면 사용하는 가장 대표적 버전관리서비스인 깃에서의 통계로 현 시대의 개발언어 트렌드나 변화등을 쉽게 확인할 수 있다.
물론 전 세계를 기준으로 하다보니까 대한민국 기준과 조금은 다를 수 있겠다. 그렇다, 전 세계에서 4번째로 많이 사용하는 언어인 자바는 대한민국에서 1, 2번째로 많이 사용한다고 생각한다. 그 이유는 대다수 대기업들이나 공공기관 혹은 스타트업에서 까지도 널리 사용하는 언어이기 때문이다.
방학에 들어 나는 자바와 자바의 백엔드 개발을 위한 스프링 부트를 통해서 간단한 게시판을 만들어 보는 것을 시작으로 공부할 것이다. 공부과정은 투명하게 블로그에 게시하도록 하겠다. 나는 개인적으로 루비나 파이썬과 같이 진입장벽도 낮고 쉬운 언어에 재미를 느꼈는데 이번 기회에 입대 전에 배웠던 자바를 한번 더 리마인드하면서 내가 원하는 어플리케이션을 뚝딱 만들어 낼 수 있는 개발자로 커나갈 수 있는 기초를 만들고 싶다.
https://www.youtube.com/watch?v=frI5CoZe-vE&list=PLZzruF3-_clsWF2aULPsUPomgolJ-idGJ&index=1
유튜버 '한코딩'님이 공개한 "Spring boot 게시판 무작정 따라하기" 를 보며 공부하는 것이니 영상으로 보고싶은 독자께서는 해당 페이지를 이용해주시면 됩니다.
과정은 영상에서 소개하는 것과 같이
1) 개발환경 세팅
- IntelliJ Community 설치
- MariaDB 설치
- MySQL Workbench 설치
2) 프로젝트 생성
- IntelliJ Community에서 Spring Boot 프로젝트 생성
- MariaDB Database 스키마 생성
3) 게시물 작성
- MariaDB Database에 'Board' 테이블 생성
- 게시물 작성 폼 생성
- 게시물 작성 처리
4) 게시물 리스팅
- 게시물 리스트 페이지 생성
- 게시물 리스트 페이지에 저장된 게시글 출력
5) 게시물 삭제
- 게시물 삭제 버튼 생성
- 게시물 삭제 처리
6) 게시물 수정
- 게시물 수정 페이지 생성
- 게시물 수정 처리
7) 게시물 페이징
- 게시물 페이징 처리
- 게시물 리스트 페이지에서 페이징 처리
7단계로, 게시판을 만들기 위한 기초 중의 기초들만 꾸려서 spring boot 맛보기를 해보겠다.
우선, 개발환경 세팅부터
- IntelliJ Community 설치
https://www.jetbrains.com/ko-kr/idea/download/#section=mac
다운로드 IntelliJ IDEA: 우수성과 인체 공학이 담긴 JetBrains Java IDE
www.jetbrains.com
위 IntelliJ 공식 홈페이지에서 다운로드를 누르고 설치한다. 맥은 그 옆에 (Apple Silicon)으로 된 다운로드를 누르면 된다.
다운로드 후, 실행하게 되면 다음과 같은 창이 뜬다.
여기서 New Project를 누르고,
위와 같이 JDK를 누른 후, JDK download를 통해 JAVA 1.8버전으로 설치를 해주면 된다. Download를 누르고 Create하면 프로젝트 생성 완료. 위의 이름은 자유이고 나는 위치를 편의를 위해 폴더를 하나 생성해서 할당해주었다.
그리고 나오는 프로젝트 창에서, src폴더 내에 Exam이라고 하는 Java class파일을 하나 만들어 주었고 잘 실행되는지 보기위해
public class Exam {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
위와같이 작성 후, 실행버튼(왼쪽 위 녹색 재생버튼)을 눌러주었고, 잘 실행되는 것을 확인하였다.
- MariaDB 설치
게시판의 아름다운 글들을 저장할 데이터베이스역할을 해주는 MariaDB는 아래에서 다운로드 가능하다.
https://mariadb.org/download/?t=mariadb&p=mariadb&r=10.10.0
Download MariaDB Server - MariaDB.org
REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"
mariadb.org
위에서, 설치해주면 되고 버전은 가장 최신버전으로 하면 되겠다. 나는 맥 사용자라서 MariaDB에서 제공하는 dmg파일이 없기에, Homebrew를 통해서 설치해주어야 했다. 윈도우는 동영상으로 MariaDB 설치 참고를 부탁바란다.
번외 mac에서의 mariadb설치)
아래 블로그 참고
https://velog.io/@dayebyday/MariaDB-Mac-MariaDB-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%A1%B0%EC%9E%91
[MariaDB] Mac MariaDB 설치 및 조작
J2KB 3기에서 만난 TBWP(Text Based Web Presentation) 팀원들과 프로젝트를 진행하기에 앞서 백엔드 단에서 Mysql이 아닌 오픈소스인 MariaDB를 사용하기로 했다. (요즘 대세는 mariadb 이지 않을까 한다!) 나는
velog.io
이후, 루트계정을 생성해주고, 초기 세팅을 마쳐주었다.
하나 이슈가 있었는데, MariaDB 루트에 들어가기 위해 mysql -u root -p 명령어를 실행했지만
% mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
라는 결과가 나왔고
아마 세팅과정에서 unix socket 권한 관련해서 잘못 세팅한 것 같다. 설치하고 아무런 진전이 없었기에 stop mariaDB후,
homebrew unlink mariaDB 해주고 다시 연결후 루트사용자를 만들어서 해결했다.
- MySQL Workbench 설치
Q1.) MySQL Workbench란? - Postgresql의 Pgadmin과 같이, 데이터베이스를 시각화(GUI로 보여주는) 시켜주는 도구
Q2.) MariaDB를 사용하는데 왜 MySQL Workbench를 사용하는가?
MySQL이 오라클에 인수되면서, MySQL 팀에 있던 개발자들이 그곳으로 부터 나와 만든 데이터베이스가 MariaDB이다, 그렇기에 MySQL이 사용하던 도구와 방식들에 호환성이 높다.
워크벤치는 아래 공식 사이트에서 다운로드 가능하다.
https://dev.mysql.com/downloads/workbench/
MySQL :: Download MySQL Workbench
Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M
dev.mysql.com
'법무법인' 오라클이라는 농담이 있을 정도로 오라클은 소송을 자주 하는 회사인데, 그렇기에 뭔가 오픈소스를 지향하는 개발자 트렌드와 반하는 느낌이 있다(내가 잘 모르고 하는 소리일 수도 있다). 그렇기에 오라클이 운영하는 홈페이지에선 쿠키를 허용하지 않는다. ㅋㅋ; 다운로드 누르면 sign up이나 login 하라는 창이 있는데 밑에 No thanks, ... 를 누르면 다운로드 될 것이다.
이제 기존에 만들어 둔 MariaDB 데이터베이스와 연결시켜준다. 연결 과정은 아래 페이지를 참고하면 될 것 같다.
https://svrforum.com/develop/68522
서버포럼 - MYSQL(mariaDB)를 MYSQL Workbench 연동하기
일하다가 테스트 돌리는 중에 심심해서 끄적여 봅니다. MYSQL Workbench란? MYSQL(mariaDB)에 있는 스키마들을 로컬 혹은 원격으로 관리 할 수 있게 해주는 GUI 애플리케이션입니다. 다운로드 링크는 https:
svrforum.com
MySQL Connections 옆, +버튼을 누르면 아래와 같은 창이 뜨게된다.
아래에서 1번) 설정을 저장할 스키마 닉네임 2) MariaDB 포트넘버 - 자동 3306으로 되어있을 것이다 3) 패스워드 - MariaDB에서 설정한 패스워드 를 넣어주면 된다
그리고 4번을 누르면, 정상적으로 잘 연결될 시 빨간 네모박스처럼 Successfully made the MySQL connection이라고 뜨고 아래와 같이 데이터베이스가 연결된 것을 확인할 수 있다.
해당 데이터베이스를 열고, 왼쪽 상단의 데이터베이스 추가버튼을 누르고 스키마 이름을 board로 해주고 Apply해주면 생성이 된다.
----------------------------------------------------------------------------------------------------------------------
이후 단계인,
2) 프로젝트 생성
- IntelliJ Community에서 Spring Boot 프로젝트 생성
- MariaDB Database 스키마 생성
3) 게시물 작성
- MariaDB Database에 'Board' 테이블 생성
- 게시물 작성 폼 생성
- 게시물 작성 처리
단계는 다음 글에서 계속 설명하도록 하겠다.