안녕하세요!
개인적으로 제작하는 앱에 대해서 몰랐던 점을 정리하고 있었는데, 결국 API을 활용한 서버가 필요할 것 같아 Spring Boot를 차근차근 배우기로 하였습니다. 앱 개발만해서 웹, 서버 쪽은 1도 모른다는...
하지만, 생각없이 바로 시작하는 게 낫겠죠? 처음은 환경 구축에 대해서 정리해보려고 합니다.
스프링부트에 대한 기초 정의는 아래의 다른 블로그 포스팅으로 확인 가능합니다.
Spring Boot 환경 구축
1. JDK 설치
JDK 중에 당연히 유료 라이선스인 Oracle JDK를 제외한 OpenJDK 중 하나를 다운받습니다. 그 중에 저는 zulu의 OpenJDK를 다운받아 사용하였습니다.
물론 아래는 예시이고, 원하는 버전 및 환경의 파일을 다운로드 받으시면 됩니다.
2. IntelliJ Community Edition 설치
다운받은 JDK를 이용해 코드 개발을 할 수 있는 IntelliJ를 다운받아 설치합니다. IntelliJ 중 Community Edition이 무료로 제공되고 있습니다.
3. Spring Boot 프로젝트 생성 (Spring Initializr)
IntelliJ에서도 Spring Boot 프로젝트를 직접 생성해도 되지만, 설정 선택을 하면 Spring Boot 프로젝트를 자동생성해주는
https://start.spring.io/ 사이트가 있습니다.
저는 아래의 설정으로 진행하였습니다.
항목 별 의미
- Project
- 프로젝트 내 라이브러리 관리 및 빌드 관리 툴을 지정합니다.
- Gradle은 언어를 Grovvy, Kotlin 중 선택할 수 있습니다.
- Language
- 사용할 개발 언어를 선택합니다.
- Spring Boot
- Spring Boot 버전
- 접미사 별 특징
- SNAPSHOT : 개발 중인 버전, 기능이 추가되고 삭제될 수도 있습니다.
- M : SNAPSHOT 보다는 안정적인지만, 문제가 있을 수도 있음
- RC : 출시 직전에 버전(후보), M 보다는 안정적이지만, 그래도 문제가 있을 수 있음
- GA : 릴리즈 버전
- SR : 버전 이후 유지 보수를 위한 버전
- Project Metadata
- 프로젝트 관련 메타데이터
- Group : 패키지 이름
- Artifact : 애플리케이션 이름
- Name : Artifact와 같음
- Description : 프로젝트에 대한 간단한 설명란
- Package name : 프로젝트 패키지 이름 (Group + Name)
- Java : Java 버전
- 프로젝트 관련 메타데이터
- Dependencies
- Spring Boot에서 제공하는 라이브러리를 추가할 수 있다.
- 선택이 없으면 기본 라이브러리만 추가되서 생성된다.
적절히 선택하여 "Generate" 버튼을 클릭하면 zip 파일로 다운로드 됩니다.
프로젝트 열기
다운로드 받은 zip파일 압축을 풀고 IntelliJ로 프로젝트를 엽니다.
위의 JDK를 설정하지 않았다면,
1. File - Project Structure 진입
2. Project - SDK 항목에 Edit을 클릭
3. JDK 파일을 압축을 풀고, JDK 폴더를 선택하고 OK를 선택합니다.
이후 Build 창에서 다운받은 작업이 진행 및 완료가 확인됩니다.
테스트 페이지 출력
* 위에 Spring Initializr 부분에서 Dependancies에 Spring Web을 선택하여야 테스트 화면을 볼 수 있습니다.
없이 프로젝트를 생성하였다면, 프로젝트의 build.gradle 파일에서 아래와 같이 수정해줍니다.
위의 사항이 준비되었다면, Project의 root - src - main - java - {package name} - Application 오른쪽 클릭 하여 "Run.Application.main()" 을 선택합니다.
이후 하단의 "Run" 탭에서 진행 상황이 로그로 보여지며, 서버가 올라온 것을 확인할 수 있습니다.
마지막으로 익스플로러를 켜고 localhost:8080을 입력하면, 아래와 같이 404 화면을 보실 수 있습니다. 지금 아무런 개발을 하지 않았기 때문에 해당 주소로 진입하면 404 Not found 에러가 출력될 것입니다.
오늘은 Spring Boot 개발 처음 환경 셋팅을 해보았습니다.
잘못된 내용이 있다면 댓글 부탁드리고, 내용이 좋았다면 공감, 구독 부탁드려요!