[Spring Boot] Blog Project - 의존성 설정

deannn.Park·2021년 5월 27일
0
post-thumbnail

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를 눌러 다음 단계로 넘어갑니다.

Dependencies 설정

만약 Springboot의 버전을 변경하고 싶다면 이 페이지에서 버전을 변경할 수 있습니다. 맨 위에 있는 Spring Boot 드롭다운에서 변경 가능합니다. 저는 2.5.0 버전을 사용합니다.

이 페이지에서 추가할 dependency는 다음과 같습니다.

  • Spring Boot DevTools
  • Lombok
  • Spring Data JPA
  • MySQL Driver
  • Spring Security
  • Spring Web

모두 추가했다면 위의 사진처럼 오른쪽 하단에 추가한 디펜던시를 확인할 수 있습니다. 모두 추가했다면 Finish 버튼을 눌러 프로젝트를 생성합니다.


위의 사진처럼 만들어졌을텐데, 하단 우측에 있는 빨간 화살표가 가리키는 바가 사라질 때까지 기다려준다. 프로젝트에 필요한 라이브러리를 다운받아 설정중이므로 기다려야 한다.

Dependency 설명

  1. Spring Boot DevTools
    공식 문서를 읽어보면 자세한 역할이 나와있다.
    간단하게 얘기하자면, 편하게 개발에 집중할 수 있도록 도움을 준다고 한다. 예를 들면 캐시를 사용하여 성능을 올려주고 파일 저장시(파일 변경시) 자동 재시작 등이 있다.
  1. Lombok
    클래스의 Getter/Setter 등을 자동으로 생성해주는 어노테이션들을 제공한다.
    공식 문서를 보면 더 많은 것을을 알 수 있다.

  2. Spring Data JPA
    ORM으로 데이터에 접근하기 위해서는 JPA를 사용해야 한다. JPA를 사용하기 위해 추가하였다.

  3. MySQL Driver
    DB는 MySQL을 사용할 것이다. MySQL과 연동하기 위해 필요한 드라이버이다.

  4. Spring Security
    서버의 보안 관련된 디펜던시이다.

  5. Spring Web
    WEB MVC를 사용하여 웹 어플리케이션을 만드는 데에 필요한 스프링부트의 기본적인 요소를 가진다.
    내장형 컨테이너로 톰캣을 기본으로 탑재하고 있다.

Project 설정

프로젝트를 생성할 때 여러 디펜던시를 추가했지만, 프로젝트 설정을 조금 수정해 줘야 할 것들이 있다. 프로젝트에 최상단에 존재하는 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를 보고 찾아 주석하면 된다.

  • spring-security-taglibs
  • spring-boot-starter-data-jpa
  • ospring-boot-starter-security
  • mysql-connector-java


위와 같이 모두 주석처리 한 후에 저장을 한다.

이제 프로젝트 설정이 모두 끝났다.

 






참고
데어 프로그래밍 블로그
데어 프로그래밍 유튜브

profile
컴퓨터 관련 여러 분야 공부중

0개의 댓글