Spring Boot를 이용한 블로그 프로젝트를 시작하려 합니다.
본 글에서는 프로젝트를 만들고 의존성 설정을 할 것입니다.
글에 앞서 제 개발환경을 알려드리겠습니다.
MacOS Big Sur 11.4
IntelliJ Ultimate 2021.1
Java 11
기본적으로 위와 같고, 제가 맥을 사용중이므로 모든 단축키와 버튼 등등 모두 맥 기준으로 설명합니다.
인텔리제이를 실행하면 위와 같은 화면이 나오는데, New Project
버튼을 누릅니다.
왼쪽의 목록에서 Spring initializr를 선택합니다. 그 후에 필요한 내용을 넣거나 고릅니다.
name은 프로젝트 이름이고, location은 프로젝트가 생성될 위치를 뜻합니다.
저는 해당 프로젝트에서 빌드툴을 Gradle이 아닌 Maven을 사용할 것이기에 Maven을 선택했습니다.
Group은 보통 기업명을 적습니다. 저는 개인 프로젝트이기 때문에 제 닉네임을 넣었습니다.
Artifact는 빌드 결과물의 이름을 의미합니다.
필요시 Project SDK 버전과 Java 버전을 변경합니다. 저는 Java 11 버전을 사용합니다.
다 적었으면 Next를 눌러 다음 단계로 넘어갑니다.
만약 Springboot의 버전을 변경하고 싶다면 이 페이지에서 버전을 변경할 수 있습니다. 맨 위에 있는 Spring Boot 드롭다운에서 변경 가능합니다. 저는 2.5.0 버전을 사용합니다.
이 페이지에서 추가할 dependency는 다음과 같습니다.
모두 추가했다면 위의 사진처럼 오른쪽 하단에 추가한 디펜던시를 확인할 수 있습니다. 모두 추가했다면 Finish 버튼을 눌러 프로젝트를 생성합니다.
위의 사진처럼 만들어졌을텐데, 하단 우측에 있는 빨간 화살표가 가리키는 바가 사라질 때까지 기다려준다. 프로젝트에 필요한 라이브러리를 다운받아 설정중이므로 기다려야 한다.
Lombok
클래스의 Getter/Setter 등을 자동으로 생성해주는 어노테이션들을 제공한다.
공식 문서를 보면 더 많은 것을을 알 수 있다.
Spring Data JPA
ORM으로 데이터에 접근하기 위해서는 JPA를 사용해야 한다. JPA를 사용하기 위해 추가하였다.
MySQL Driver
DB는 MySQL을 사용할 것이다. MySQL과 연동하기 위해 필요한 드라이버이다.
Spring Security
서버의 보안 관련된 디펜던시이다.
Spring Web
WEB MVC를 사용하여 웹 어플리케이션을 만드는 데에 필요한 스프링부트의 기본적인 요소를 가진다.
내장형 컨테이너로 톰캣을 기본으로 탑재하고 있다.
프로젝트를 생성할 때 여러 디펜던시를 추가했지만, 프로젝트 설정을 조금 수정해 줘야 할 것들이 있다. 프로젝트에 최상단에 존재하는 pom.xml
에 <dependencies>
안에 아래의 내용을 추가한다.
<!-- 시큐리티 태그 라이브러리 -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
</dependency>
<!-- JSP 템플릿 엔진 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
위와 같이 추가하면 된다.
인텔리제이 우측 상단에 위와 같은 버튼이 있을텐데, 이를 누르면 추가된 라이브러리를 다운받고 빌드를 한다. 만약 버튼이 안보인다면 CMD + SHIFT + I
를 누르면 된다.
pom.xml
에서 기존에 추가된 dependency들을 볼 수 있다.
이 프로젝트에서는 템플릿 엔진을 JSP를 사용할 것이다. 따라서 JSTL을 추가하고, JSP를 인식하기 위해 jasper를 추가하였다.
dependency들을를 추가했지만 당장 사용하지 않는 것들은 주석처리하여 프로젝트가 실행이 가능하도록 한다. 추석처리 할 dependency들을는 다음과 같다. artifactId를 보고 찾아 주석하면 된다.
위와 같이 모두 주석처리 한 후에 저장을 한다.
이제 프로젝트 설정이 모두 끝났다.