프로젝트를 위한 IDE로 intellij를 선택하였다. 경량의 IDE를 선호하여 vscode에 플러그인을 설치하는 방법으로 그동안 개발을 진행해왔지만 테스팅, 코드 포맷팅 등 intellij의 편한 기능들을 접한 이후로 다소 무겁더라도 intellij로 진행하기로 결정하였다. 학교 계정(edu 계정)으로 가입하여 Ultimate edition을 일정 기간동안 무료로 사용하고 있다.
intellij 초기 화면에서 New Project
를 클릭한다.
왼쪽의 항목에서 Spring Initializer
를 선택하고 개발 환경에 세팅되어 있는 Java SDK가 Project SDK로 선택되어있다. 이번 프로젝트에서는 Java 버전은 openjdk version "1.8.0_275"
이다. 아래의 starter service URL은 Default
로 설정하였다. Custom
은 사용해보지 않았다.
Group과 Name은 daily-workout
으로 설정하였다. 프로젝트 관리 도구로는Maven
으로 해볼 계획이다. gradle
이 아직 익숙치 않아 나중에 바꿔보는 방향으로 진행해보겠다.
다음화면에서 프로젝트 기본 dependency를 설정할 수 있다. 개인적으로 불필요한 dependency를 추가하는 것을 선호하지 않기 때문에 Spring Boot DevTools
와 Spring Configuration Processor
만 설정하였다. Lombok
을 제외한 이유는 개인적인 선호에 따른 것이다. Lombok
은 인스턴스 변수의 Getter/Setter를 자동으로 추가해주는 의존성으로 코드를 간결히 보여준다는 장점이 있지만 자신이 필요한 Getter/Setter를 만드는 것이 더 명확하다는 판단이 들어 이를 제외하였다. 추후에 필요한 의존성은 Maven
을 통해 관리할 예정이다.
위의 과정을 통해 생성된 프로젝트 구조는 다음과 같다.
위에서 pom.xml
이 Maven
의존성 관리 파일로 기본 세팅 의존성은 다음과 같다.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Spring boot 기본 세팅과 의존성 설정은 test/java/dailyworkout.demo
의 DailyWorkoutApplicationTest.java
테스트 파일을 실행하는 것으로 확인할 수 있다.
@Test
void contextLoads() {}
간단하게 위의 contextLoads()
를 테스트 메소드를 실행하는 것으로 확인할 수 있다. 메소드 실행 결과는 다음과 같다.
Test passed: 1
이 화면 좌측 하단에서 확인된다면 기본 세팅이 문제없이 되었다.