[Spring][IntelliJ_Community] Spring Framework 첫 걸음

김영후·2022년 12월 7일
0

Spring

목록 보기
1/4
post-thumbnail

Spring은 초기 설정이 까다롭다는 검색 결과를 마주하게 됐는데, 얼마나 까다로운지는 직접 겪어봐야 알지 않을까? 일단 시작해보기로 했다. Ide로는 IntelliJ(Community)를 선택했다. IntelliJ는 무료 버전인 community와 유료 버전인 ultimate가 있는데, ultimate를 이용하면 spring 프로젝트를 생성할 수 있다. community라고 해서 spring을 이용한 개발을 할 수 없는 건 아니다. 다만 새로운 spring 프로젝트를 생성할 수 없는 것이다. 이미 만들어진 spring 프로젝트를 이용하면 spring framework를 이용한 개발이 가능하다는 말이다.
그럼 이를 위해 먼저 spring initializer를 검색하자(혹은 https://start.spring.io/ 로 접속). 그럼 아래와 같은 사이트에 접속이 가능하다.

사진을 보면, Project, Language, Spring Boot, Project Metadata, Dependencies를 작성하게 돼있는 것이 확인될 것이다. 차근차근 뜯어보자.

  • Project
    Gradle과 Maven 중 고를 수 있다(Gradle은 Groovy 기반과 Kotlin 기반으로 나뉜다.). 나는 Groovy 기반의 Gradle을 골랐다.
  • Language
    Java를 이용할 거니 Java를 골라준다.
  • Spring Boot
    옆에 SNAPSHOT이 적힌 것은 현재 개발 중인 버전이다. 옆에 아무 것도 적히지 않은 놈들 중 하나를 골라주자. 나는 최신 버전은 무서워서 좀 아래 버전을 선택했다.
  • Project Meatadata
    쉽게 말해 프로젝트 명 등을 작성해주는 곳이다. Group은 만들 서버(?)의 도메인이라고 생각하면 편한데, 연습용이니 그냥 그대로 뒀다. Artifact에는 원하는 프로젝트 명을 기입하면 아래는 자동으로 그에 맞춰 바뀐다. Packaging은 Jar로, Java는 version 11을 선택했다(내가 깔려있는 게 11임).
  • Dependencies
    이건 위의 ADD DEPENDENCIES를 눌러 추가해줄 수 있다.

    이렇게 뭐가 많이 나오는데, 연습용 프로젝트 하나 만들어 보는 거라 Spring Web만 추가해줬다.

해당 목록을 다 작성한 후에 하단에 있는 GENERATE 버튼을 클릭하면 .zip파일이 다운로드 된다. 이를 본인의 IntelliJ 프로젝트들이 있는 폴더(나의 경우 C:\Users\사용자명\IdeaProjects)에 압축해제 해준다.
그 후 IntelliJ에서 해당 프로젝트 폴더를 open해준다. 프로젝트를 Trust할 건지 물어보는데, 본능이 Trust하라고 외칠 것이다. Trust를 하고 열어주면 아래와 같은 프로젝트 구조를 볼 수 있을 것이다.

밑을 보면 자동으로 뭔가가 build 되고 있을텐데 그대로 완료될 때까지 두면 된다. Gradle Daemon이 자동으로 필요한 라이브러리를 다운받고 있다고 생각하면 된다. 최종 실행 테스트를 위해 src/main/Java/com.~ 디렉터리 내의 "프로젝트명Application.java"(나의 경우 SpringPrac1Application.java)의 main함수 내에 "Hello World"를 출력하는 line을 아래 그림과 같이 추가해서 실행해보자.

사실 Hello World를 출력할 필요는 없었는데 국룰이라 한 번 넣어봤다. 실행 결과가 Run탭에서 아래와 같이 보일 것이다.

이렇게 계속 두면 서버가 실행중인 거니 브라우저에 localhost:8080(spring 포트가 8080임)를 쳐보면 아래와 같은 페이지를 확인할 수 있을 것이다.


이런 페이지가 뜬다면 spring framework를 이용한 개발을 위한 초기 세팅은 마친거라 생각하면 된다. 다음에는 디렉터리 내 파일을 하나하나 뜯어보면서 spring의 구조를 이해해볼 생각이다. 이제 이 프로젝트 위에서 spring을 이용한 개발 연습을 시작해보자!

참고
https://pearlluck.tistory.com/329

profile
PNU CSE 16th / Busan, South Korea

0개의 댓글