본문 바로가기
Spring Boot

스프링 부트(Spring Boot) - 게시판 개발환경 설정하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis]

by 도뎡 2023. 3. 14.
반응형

본 게시판 프로젝트 관련 안내사항

  • 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다.
  • 프로젝트(애플리케이션) 설정은 자바(Java) 기반의 설정을 사용합니다.
  • 데이터베이스는 MariaDB를 사용합니다.
  • DB와의 통신 역할을 하는 퍼시스턴스 프레임워크는 마이바티스(MyBatis)를 사용합니다.
  • 개발 도구(IDE)는 인텔리제이(IntelliJ)를 사용합니다.
  • 프로젝트 빌드 도구는 그레이들(Gradle)을 사용합니다.

 

스프링 레거시 프로젝트(Spring Legacy Project)는 이제 그만!

스프링 레거시는 Spring MVC Project를 의미합니다. 우리나라는 아직까지 스프링 레거시를 많이 사용하고 있는데요. 전자정부 프레임워크(우리나라의 웹 기반 표준 프레임워크)가 스프링 레거시를 기반으로 만들어지기도 했고, 아직까지도 SI 시장의 적지 않은 고객들이 전자정부 프레임워크를 선호하기 때문입니다.

스프링 레거시는 오랜 시간 사용해 온 고마운 프레임워크입니다. 하지만, 개발 초기 단계에서의 XML 설정(XML 지옥), 메이븐(Maven) 특유의 라이브러리 의존(버전/충돌) 문제 등 신경 써야 하는 것들이 이만저만이 아닙니다.

그러나! Spring Boot는 개발 시작에 있어 필수적인 설정들의 처리가 되어있거나, 최소한의 구성으로 쉽게 설정이 가능하기에 비즈니스 로직(사용자의 요구를 처리하는 핵심 로직) 작성에 더욱 집중할 수 있는 환경을 제공해 줍니다.

하루가 다르게 기술이 발전하고 새로운 패러다임이 생겨나고 있으며, 그에 따라 제품(애플리케이션)의 퀄리티는 점차 높아지고 있습니다. 지금부터라도 오래된 낡은 코드는 버리고, 조금이라도 더 깨끗하고 읽기 쉬운 효율적인 코드를 작성해야 합니다.

그럼, 지금부터 스프링 부트의 매력에 빠져보도록 하겠습니다. 여러분의 시간은 소중하니, 최대한 포인트만 콕콕 집어서 달려보겠습니다. 벨트 꽉 매주세요 :)

 

1. 자바(Java) OpenJDK 설치하기

OpenJDK 다운로드에서 스크롤을 조금 내려보면, 버전별 JDK를 다운로드할 수 있는 영역이 있습니다. 우리는 JDK 11 버전을 이용해서 게시판을 구현하게 되는데요. 여기서 꼭 zip 파일로 다운로드해 주세요.

OpenJDK 다운로드 영역

 

2. 개발용 디렉터리(폴더) 세팅하기

다음은 개발용 디렉터리를 세팅할 차례입니다.

 

2-1) 폴더 추가하기

C드라이브에 develop 폴더를 생성하고, 그 안에 jdk와 workspace 폴더를 추가해 주세요.

개발용 디렉터리 구조

 

  • jdk : 여러 버전의 JDK를 관리하는 용도의 폴더입니다. 우리는 JDK 11 버전 하나만 사용하지만, 현업에서는 버전별로 JDK를 통틀어 사용하는 경우가 있습니다. 이러한 경우, 다음과 같이 하나의 폴더 안에서 여러 버전의 JDK를 관리할 수 있습니다.
  • workspace : 프로젝트 작업 공간을 의미하는 폴더입니다. IDE(개발 도구)에서 작업하는 모든 프로젝트는 이곳에 위치하게 됩니다.

 

2-2) JDK 압축 해제하기

C:\develop\jdk 폴더에, 앞에서 다운로드한 JDK 파일의 압축을 풀어주시면 되는데요. 압축을 해제한 후 반드시 폴더명을 ojdk-11로 변경해 주세요. 결과적으로 ojdk-11의 경로와 폴더 구조는 다음과 같습니다.

ojdk-11 경로 및 폴더 구조

 

3. 환경 변수 설정하기

다음은 윈도우(Windows)에서 Java가 정상적으로 작동할 수 있도록 환경 변수를 설정할 차례입니다.

 

3-1) 윈도우 검색창에 환경 변수를 입력하고, 시스템 환경 변수 편집 클릭

환경 변수 설정 1

 

3-2) 시스템 속성 > 고급 탭 하단의 환경 변수 클릭

환경 변수 설정 2

 

3-3) 시스템 변수 영역의 새로 만들기 클릭

환경 변수 설정 3

 

3-4) 변수 이름에는 JAVA_HOME을, 변수 값에는 앞에서 다운로드한 ojdk-11 경로 입력

환경 변수 설정 4

 

3-5) 시스템 변수의 Path를 선택하고, 편집 클릭

환경 변수 설정 5

 

3-6) 새로 만들기 버튼을 클릭하고, %JAVA_HOME%\bin 입력

환경 변수 설정 6

 

3-7) %JAVA_HOME%\bin을 환경 변수의 최상단으로 이동

환경 변수 설정 7

 

3-8) 시스템 변수의 새로 만들기를 클릭한 후, 변수 이름에는 CLASSPATH를, 변수 값에는 %JAVA_HOME%\lib 입력

환경 변수 설정 8

 

3-9) 여기까지 Java 환경 변수 설정이 완료되었습니다. 테스트를 위해 윈도우 검색창에 cmd를 입력해서 명령 프롬프트를 실행해 주세요.

명령 프롬프트(cmd) 실행 방법

 

3-10) 창이 열리면 java 명령어를 실행해 주세요. 정상적으로 설정이 되었다면, 다음과 같은 화면을 보실 수 있습니다.

java 명령어 실행 결과

 

3-10) 이번에는 javac 명령어를 실행한 결과입니다.

javac 명령어 실행 결과

 

4. 개발 툴 - 인텔리제이(IntelliJ) IDE 설치하기

인텔리제이 다운로드에서 사용하실 IDE를 다운로드해 주시면 되는데요. 제가 권장드리는 건 유료 버전인 Ultimate입니다. 대학생 또는 졸업생 분들께서는 학교 메일로 인증을 받으시면, 1년간 Ultimate 버전을 무료로 이용하실 수 있습니다.

무료인 커뮤니티(Free) 버전은 Ultimate 버전에 비해 제공되는 기능이 많이 부족하긴 하지만, 커뮤니티 버전으로도 스프링 부트를 이용한 개발은 가능합니다.

Ultimate 다운로드 영역

 

Community Edition 다운로드 영역

 

4-1) 다운로드한 Setup 파일을 실행하고 Next 클릭

인텔리제이 설치 1

 

4-2) 인텔리제이는 Setup에 설정된 기본 경로에 설치하도록 하겠습니다. Next 클릭

인텔리제이 설치 2

 

4-3) 다음과 같이 네 개 항목을 체크한 후 Next 클릭

인텔리제이 설치 3

 

4-4) 마지막으로 Install을 클릭하면 설치가 완료됩니다.

인텔리제이 설치 4

 

4-5) 설치가 완료되면 재시작 여부를 물어보는데요. 저는 나중에 재부팅하겠습니다.

인텔리제이 설치 5

 

5. 인텔리제이(IntelliJ) 환경설정 하기

이번에는 IDE의 환경설정 차례입니다.

 

5-1) 인텔리제이를 실행하고, 하단 체크박스를 선택한 후 Continue 클릭

인텔리제이 실행 1

 

5-2) 데이터 공유 여부를 물어보면, 흔쾌히 수락해 주세요.

인텔리제이 실행 2

 

5-3) 드디어 인텔리제이 실행이 완료되었습니다.

인텔리제이 실행 완료

 

이제 환경설정을 진행할 건데요. 인텔리제이의 기본 Keymap을 이용하셔도 되지만, 이클립스 사용 경험이 있으시다면 이클립스 키맵이 익숙하실 겁니다.

아래 첨부한 settings.zip은 IDE를 조금 더 편리하게 사용할 수 있도록 설정해 둔 제 인텔리제이 설정 파일입니다. '나는 인텔리제이의 기본 키맵을 이용할래!'라고 하신다면, 바로 6번 스텝으로 넘어가 주시면 되겠습니다.

settings.zip
0.02MB

 

5-4) settings.zip 파일을 다운로드 및 압축 해제하고, 인텔리제이 창 좌측 Customize 탭 하단의 Import Settings 클릭

인텔리제이 환경설정 1

 

5-2) 압축을 해제한 settings 폴더를 선택하고 OK 클릭

인텔리제이 환경설정 2

 

5-3) IDE 재시작 컨펌(Confirm) 창이 열리면, Import and Restart 클릭

인텔리제이 환경설정 3

 

5-4) 세팅 파일이 정상적으로 적용되었다면, Customize 탭의 Keymap이 Eclipse copy로 변경됩니다.

인텔리제이 세팅파일 적용 결과

 

6. 스프링 부트(Spring Boot) 프로젝트 생성하기

다음은 대망의 프로젝트 생성입니다. 인텔리제이 Ultimate 버전은 IDE 내에서 스프링 부트 프로젝트를 생성할 수 있지만, Community 버전은 스프링 이니셜라이저라는 곳에서 직접 생성해 주어야 합니다.

스프링 이니셜라이저에 접속해 보시면 다음의 화면을 보실 수 있습니다. 이곳에서 스프링 부트 프로젝트를 생성할 수 있으며, 우측 상단의 아이콘을 통해 화면을 라이트 모드 및 다크 모드로 설정할 수 있습니다.

스프링 이니셜라이저 홈

 

6-1) 프로젝트 정보(스펙) 설정하기

좌측 영역에서는 프로젝트 빌드 도구, 언어, 부트 버전, 프로젝트명, 패키지명, Java 버전 등을 설정할 수 있습니다. 스프링 이니셜라이저에서 다음과 동일하게 프로젝트 스펙을 설정해 주세요.

프로젝트 기본 설정

 

  • Gradle(그레이들) : Gradle은 Maven(메이븐)이라는 녀석을 대신해서 라이브러리를 관리해 주는 프로젝트 빌드 도구입니다. Gradle은 일반적으로 한 줄의 코드로 라이브러리를 추가할 수 있지만, XML 기반인 메이븐은 한 개의 라이브러리당 최소 네 줄의 코드가 필요합니다. 또한 그레이들의 빌드 속도는 메이븐에 비해 수십 배는 빠른 편이라고 합니다. 메이븐 환경의 프로젝트를 경험해 보셨다면, 게시판 구현 과정에서 그레이들의 편리함을 자연스레 느끼실 겁니다.
  • 스프링 부트 버전 (2.7.x) : 스프링 부트 3.x 버전을 구동하려면 JDK의 버전이 17 이상이어야 합니다. 우리는 JDK 11 버전을 설치했으니(네가 3.x 버전을 안 써본 건 아니고?), 2.7.x 버전으로 게시판을 구현합니다.
// Gradle 라이브러리 추가 예시
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0'

<!-- Maven 라이브러리 추가 예시 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

 

6-2) 프로젝트 라이브러리 추가하기

우측의 Dependencies 영역에서는 프로젝트에서 사용할 라이브러리를 추가할 수 있습니다.

 

6-2-1) 우측 상단의 ADD DEPENDENCIES 클릭

프로젝트 라이브러리 추가 1

 

6-2-2) 라이브러리를 선택하면 Dependencies에 라이브러리가 추가되며, Ctrl 키를 누른 채로 선택하면 창이 닫히지 않고 계속해서 추가됩니다.

추가해야 할 라이브러리는 '프로젝트 라이브러리 추가 3번 이미지'를 참고해 주시면 되며, 상단 네모 박스 안에서 라이브러리를 검색할 수도 있습니다.

프로젝트 라이브러리 추가 2

 

6-2-3) 이제, 다음의 7개 라이브러리를 모두 추가한 후 창을 닫아주세요.

프로젝트 라이브러리 추가 3

 

6-3) 프로젝트 생성하기

프로젝트 설정과 라이브러리 추가를 완료하셨다면, 페이지 하단의 GENERATE를 클릭해서 프로젝트를 생성해 주세요.

프로젝트 생성 버튼

 

7. 프로젝트 Import 하기

이제, 다운로드한 Board 프로젝트를 인텔리제이에서 Import 해보도록 하겠습니다.

 

7-1) C:\develop\workspace에 Board.zip의 압축을 풀고, 경로와 디렉터리 구조를 다음과 같이 맞춰주세요.

Board 프로젝트 경로 및 디렉터리 구조

 

7-2) 인텔리제이 Projects 탭의 Open을 클릭해 주세요.

프로젝트 Import 1

 

7-3) 프로젝트 경로를 선택하고 OK를 클릭해 주세요.

프로젝트 Import 2

 

7-3) 컨펌(Confirm) 창이 열리면 Trust Project를 클릭해 주시면 됩니다.

프로젝트 Import 3

 

7-4) 이제, 인텔리제이가 애플리케이션 구동에 필요한 일들을 할 건데요. 이 작업은 대략 2~3분 정도의 시간이 소요됩니다.

프로젝트 빌드 및 인덱싱이 완료된 결과

 

콘솔창의 링크(파란색 텍스트)는 인텔리제이에서 스프링 부트에 포함된 기본 라이브러리와, 스프링 이니셜라이저에서 추가한 라이브러리들을 다운로드했다는 증거입니다.

우측 하단의 네모 박스 영역을 보시면, 인텔리제이가 백그라운드에서 프로젝트를 빌드(Build)하고, 이것저것 인덱싱(Indexing) 하는 과정을 확인하실 수 있습니다.

모든 작업이 끝나기까지는 어느 정도(대략 2~3분)의 시간이 소요되며, 백그라운드 작업이 모두 완료된 후에 다음 스텝을 진행해 주시면 되겠습니다. 완료 여부는 7-4번 이미지를 참고해 주시면 됩니다.

 

8. 인텔리제이(IntelliJ) 환경설정 및 플러그인

마지막으로 인텔리제이 환경설정과 플러그인에 대해 가볍게 설명드리겠습니다.

 

8-1) 환경설정(Settings)

인텔리제이에서 Ctrl + Alt + S를 누르면 설정(Settings) 창이 열리며, Settings 좌측의 메뉴들을 통해 IDE와 관련된 여러 기능을 설정할 수 있습니다.

5번에서 설정 파일(settings.zip)을 여러분의 IDE에 적용하셨다면, 인코딩(Encoding), 키맵(Keymap), 코드 폴딩(Code Folding) 등 기본적인 설정은 되어있을 테니, 필요한 플러그인만 설치해서 사용해 주시면 됩니다.

인텔리제이 설정(Settings) 창 구조

 

8-2) 플러그인(Plugin)

설정 창 좌측의 Plugins 메뉴를 클릭해 보시면, 상단 중앙에 Marketplace와 Installed 탭이 보이실 겁니다. Marketplace에서는 이클립스의 마켓 플레이스처럼 필요한 플러그인을 찾아 설치할 수 있고, Installed에서는 설치된 플러그인을 확인, 삭제, 업데이트할 수 있습니다.

인텔리제이 플러그인(Plugins) 메뉴 구조

 

8-3) 유용한 플러그인 (코딩하는보기 님, 좋은 글 작성해 주셔서 감사드립니다!)

코딩하는보기 님의 블로그에 추천 플러그인과 그에 대한 상세 정보들이 너무나도 잘 정리되어 있습니다. 개발자마다 취향 또는 스타일이 다를 수 있으니, '이건 정말 유용하게 쓰이겠다.' 싶은 플러그인을 여러분의 IDE에 설치해 주시면 되겠습니다.

 

9. 톰캣(Tomcat)을 따로 설치할 필요가 없다?

글 서두에서 '스프링 부트는 개발에 필요한 일부 필수적인 설정들의 처리가 되어 있다.'라는 말씀을 드렸습니다. 스프링 부트는 자동 구성(설정)에 의해 기본적으로 톰캣(Tomcat) 서버를 내장하고 있기 때문에 별도로 WAS(Web Application Server)를 설치하지 않아도 되며, Java Build Path 등 이런저런 골치 아픈 설정에 대해 전혀 신경 쓰지 않으셔도 되는 너무나도 고마운 프레임워크입니다.

 

마치며

여기까지 인텔리제이를 이용한 스프링 부트 개발 환경 설정이 마무리되었습니다. 시작이 반이라는 말이 있습니다 여러분, 정말 고생 많으셨습니다.

문제가 되거나 잘못된 부분에 피드백을 주신다면 바로바로 수정해 나가도록 하겠습니다.

다음 글에서는 스프링 부트의 프로젝트 구조에 대해 가볍게 알아보도록 하겠습니다.

방문해 주신 여러분께 진심으로 감사드립니다! 행복한 하루 보내세요 :)

 

 

다음 글 : 스프링 부트 프로젝트 구조 알아보기

 

스프링 부트(Spring Boot) - 게시판 프로젝트 구조 알아보기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis]

이전 글에서는 자바 JDK 설치, 환경 변수 설정, 인텔리제이(IntelliJ) 설치 및 환경 설정, 스프링 부트 프로젝트 생성 및 Import 등 기본적인 게시판 개발환경을 세팅해 보았습니다. 이번에는 스프링

congsong.tistory.com

 

반응형

댓글