프로잭트 구성

Zerodin·2021년 10월 31일
0
post-thumbnail
post-custom-banner

인텔리제이

1장에서는 인텔리제이를 사용하여 프로젝트 구성하는 내용을 다루고 있다.

이 글을 보시는 분들 중에는 인텔리제이를 안써보신 분들도 있을 것이다.

년단위로 정기 결재를 해서 사용해야하는 부분이 아마 걸림돌이지 않을까 싶은데,
나도 처음에는 이클립스만 사용했었다.

그리고 올해 독학을 시작하면서 주변에서 추천받은 인텔리제이를 써보기 시작했다.
처음에는 무료버전을 사용했었는데 몇가지 제약사항이 불편하기도 했고
사용해보니 나쁘지 않아보였다.

그리고 지인을 통해 유료버전인 엔터프라이즈를 사용해볼 기회가 있었는데 이때 사용해보고 반해서 바로 얼티메이트 버전을 구매하여 지금까지 사용하고 있다.

초반은 이러한 IDE 사용법을 상세히 설명하고 있다.
그리고 lombok, gitignore등의 추가 플러그인 설치에 대한 내용들을 다루고 있다.

gitIgnore 설정

gitignore 란 형상관리를 위한 git hub에 소스를 commit할때
예외적으로 처리하고 싶은 파일들을 관리하기 위한 플러그인으로써
여기에 등록한 경로 및 확장자에 따라 해당 파일들이 commit목록에서 제외처리되는 플러그인 설정파일을 생성하여 사용하는 것을 말한다.

나는 인텔리제이가 만들어준 탬플릿 설정을 사용하고 있다.

Gradle 프로젝트

해당 플러그인과 설정을 마무리 한 뒤 gradle 프로젝트를 생성하기 시작했다.

책에서는 gradle 프로젝트의 설정들을 하나하나 추가하면서 각 설정의 의미를 설명을 하고 있는데 내용을 요약해 보았다.

  • 해당 플러그인들이 바라보게되는 스프링부트의 버전정보를 전역변수에 선언한 뒤 변수를 통한 의존성 관리.
  • 의존성을 바탕으로 사용되는 플러그인 설정.
  • 라이브러리를 다운받을 원격저장소 설정.

bundle.gradle

책에서는 bulidscrpit를 선언하여
스프링부트 버전을 담는 전역변수 ext를 선언하여 사용하고
이를 플러그인들이 바라보도록 설정하고 있다.

그리고 repositories에서 라이브러리를 다운받을 원격저장소에 대한 내용을 설정하는데, mavenCentral과 jcenter를 각각 선언하고 있다.

mavenCentral과 jcenter를 간략히 설명하자면
기존부터 많이 사용되왔던 원격저장소는 mavenCentral쪽인데, 사용상의 불편함이 문제가 되서 이를 해결하기 위해 jcenter가 등장했다.

책에서는 jcenter를 사용하는 것을 추천하고 있다.
하지만 jcenter 서비스를 제공하는 JFrog에서 서비스 종료를 선언하는 바람에 지금은 jcenter를 선언하면 deprecated 처리가 된다.
그래서 나는 mavenCentral만 선언할 계획이다.

위의 내용을 바탕으로 기본적인 프로젝트 구성을 따라하면 기본적인 어플리케이션 준비는 끝이난다.

spring initalizr

하지만 나는 성격이 급한 편이여서 이러한 설정을 단계별로 추가하는 것 보다는
스프링 이니셜라이저(https://start.spring.io/)에서 프로젝트를 generate해서 사용하기로 했다.

책에서 사용될 라이브러리들을 기준으로
내가 사용한 이니셜라이저 화면은 아래와 같다.

dependencies

의존성 부분을 간략시 살펴보면
기본적으로 스프링을 사용하기 위해 spring web을 사용하고
getter,setter등의 코드를 줄여줄 lombok,
개발에 사용하는 데이터베이스를 담당하는 H2 Database,
ORM기능을 담당하는 JPA,
화면을 담당하는 탬플릿 엔진인 Mustache를 선언하였다.

자동생성된 bundle.gradle

실제로 이니셜라이저에서 프로젝트를 생성하면 gradle의 설정이 책의 예제와는 다소 다르게 작성되서 내려오지만 실행하는 것에는 차이가 없었다.

다음 챕터에서는 TDD를 바탕으로 테스트코드를 작성하는 실습을 다룰 것이다.

마무리

인텔리제이를 통해서 기본적인 gradle 프로젝트 생성에 대해서 알아보았다.

나는 그동안 약 7년이상을 이클립스를 사용해왔었는데,
너무 무겁고 느려지는 이클립스에 불만이 많아지고 있엇던 찰라에 한 줄기 빛을 본 기분이였다.
강력한 기능에 매력을 느꼈으나 대학생, 또는 비용 지출에 민감한 분들은 얼티메이트 버전 사용에 거부감이 있을 수는 있다.

하지만 지출은 순식간이고 만족감은 지속적이다.
반드시 구매할 것을 권하고 싶다.

그 동안은 별다른 생각없이 자동으로 스프링에서 만들어주는 프로젝트를 사용하기만 했었는데, bundle.gradle의 설정에 대한 상세한 지식을 쌓을 수 있어서 좋았다.

Git hub : https://github.com/kdh85/spring-aws-study.git

profile
멈추지 않는 사람이 되고 싶어요!
post-custom-banner

0개의 댓글