[Spring] 02-1. 프로젝트 생성

지찬우·2022년 12월 18일
0

Spring

목록 보기
5/27
post-thumbnail

이 시리즈는 인프런 강의(김영한 님의 ‘스프링 핵심 원리 - 기본편’)로 공부하며 혼자 기록하고, 사람들과도 공유할 수 있도록 작성하는 글이다. 최대한 추가적인 정보는 공식 홈페이지, 문서를 보며 얻을 예정이다.
(개인적인 생각과 이해가 들어가 있기 때문에 저의 ‘무식함’이 있을 수 있습니다😜 혹시라도 이 글을 보게 되시는 분이 계시다면 잘못된 부분 댓글로 많이 알려주시면 너무 감사하겠습니다!!)

GitHub Repository : https://github.com/jcw1031/spring-core-study


스프링 예제 프로젝트 생성

이제부터 그동안 이론으로 배운 대로 역할과 구현을 나누어(인터페이스와 구현 클래스를 나누어) 개발을 해볼 것이다. 우선은 순수 java로 개발을 해보자. 그 후에 실제로 요구사항이 변경되었을 때 유연하게 대체가 가능한지, 다형성과 OCP, DIP가 잘 지켜지고 있는지 확인해 보고, 문제가 발생하면 객체 지향 원리를 적용하며 문제를 해결해 나갈 예정이다.

그럼 이제 프로젝트를 생성해 보자.
아래는 나의 개발 환경이다.

  • Java 11
  • IntelliJ IDEA
  • MacOS

🔨 프로젝트 생성

IDE에서 프로젝트를 생성할 수 있지만, 아래 사이트에서 프로젝트를 생성하도록 하겠다.

spring initializr

해당 사이트로 접속하면 다음과 같은 화면이 나온다.


이제 기본적인 설정을 하고 프로젝트를 다운받아 보겠다.

우선 프로젝트는 gradle로 하고, 언어는 Java, 스프링 부트 버전은 3.0.0 또는 2.7.6을 선택하면 되는데, 3.0 버전은 java 17 버전 이상만 지원하기 때문에 나는 2.7.6으로 선택했다.(java 11 버전이기 때문이다.)


그다음 프로젝트 metadata를 설정해 준다. Group과 Artifact 정도만 입력해 주면 된다. Group은 하고 싶은 이름으로 하고, Artifact는 core로 설정하겠다.(그럼 자동으로 Package name이 ‘Group이름.Artifact이름’으로 설정된다.

그리고 Packaging은 Jar로 하고, Java 버전은 자신과 맞는 버전을 선택하면 된다. 나는 11을 선택하겠다.


Dependencies 부분은 의존성 설정 부분인데, 프로젝트를 생성하고 나중에 build.gradle 파일에서 직접 추가할 수 있기도 하고 우선은 순수 자바로 코드를 작성할 것이기 때문에 따로 설정하지는 않겠다.


모든 설정을 끝내고 하단에 있는 GENERATE 버튼을 누르면 프로젝트 파일이 .zip 압축 파일로 다운받아진다.


📂 프로젝트 열기

다운받은 파일의 압축을 풀면 다음과 같은 폴더가 하나 나온다. 이 core 폴더가 프로젝트 파일이다. 저 폴더를 적당한 위치(프로젝트 파일들을 모아두는 곳이든지, 편한 대로~)


IntelliJ를 실행시키고 처음 뜨는 창에서 Open 버튼을 클릭한다.


그럼 프로젝트를 선택할 수 있는 창이 뜬다. 아까 압축을 해제해서 나온 core 폴더로 찾아간다. 그 안에 ‘build.gradle’ 파일을 선택하고 Open을 누른다.


Open as Project 클릭.


그럼 다음과 같이 프로젝트가 열리고 인터넷을 통해 라이브러리를 알아서 다운받아준다.(프로젝트를 처음 실행하거나 의존성을 추가•삭제하는 경우에만 딱 한 번 다운로드가 된다.) 만약 빨간 글씨로 오류 메시지와 함께 다운로드가 안 되면 스프링 부트 버전과 자신의 java 버전을 잘 확인해 보길 바란다. 내가 처음에 그랬었다😅
(❗️위에서도 말했지만 스프링 부트 3.0 버전은 java 17 이상만 가능하다. 또한 3.0 버전은 javax 패키지 이름을 jakarta로 변경해야 한다.)


좌측의 Project 탭에서 build.gradle 파일을 열어보면, 아래와 같이 우리가 설정한 정보들이 입력되어 있는 것을 볼 수 있다. 스프링 부트 2.7.6, Java 버전은 11 등 여러 가지 정보가 있다.

아까 분명 dependencies 설정을 아무것도 하지 않았는데 뭔가 적혀있는 것을 이상하게 생각할 수 있다. 저 의존성들은 스프링에 필수적으로 필요한 의존성을 관리하고 있는 것이다.


그리고 우리가 설정한 Group과 Artifact 이름으로 패키지가 생성되어 있는 것을 확인할 수 있다. 해당 패키지 안에 있는 CoreApplication이 main 메서드가 실행되는 클래스이다. 열어서 한번 실행시켜 보도록 한다.


콘솔에 아래와 같이 출력되면 실행이 잘 되는 것이다. 지금은 아무것도 작성한 게 없기 때문에 실행되고 바로 종료될 것이다.


⚙️ 빌드 설정(참고)

추가적으로 Preferences에 들어가서 gradle을 검색하고(Build, Execution, Deployment 카테고리의 Gradle 탭) Build and run using 부분과 Run tests using 부분을 Gradle에서 IntelliJ IDEA로 설정해 주면 빌드 하는 데 걸리는 시간이 체감상 더 빠르다고 한다.


지금까지 앞으로 개발을 진행해 보기 위한 프로젝트를 생성하는 방법을 알아보았다. 근데 처음에 분명 순수 Java로 개발할 거라고 하더니 왜 스프링 부트 프로젝트를 다운받는지 의아할 수 있다.

지금은 순수 Java로 개발을 진행하다가 점차 스프링 부트에 의존성을 추가하고 구조를 변경하는 방식으로 개발을 해볼 것이기 때문에 미리 스프링 부트 프로젝트로 생성한 것이다. 스프링 부트 라이브러리는 처음에는 사용하지 않는다.

다음 시간에는 요구사항을 분석하고 설계를 해 볼 예정이다. 이제 직접 코드를 작성해 볼 것이기 때문에 재미있을 것 같다..!(두근두근😃)

profile
좋은 개발자가 되자.

0개의 댓글