인텔리제이 커뮤니티 버전을 쓰고 있기 때문에, 스프링 공식 사이트에서 프로젝트를 생성하는 방법을 소개하고자 합니다.
🌱 스프링 공식 사이트에서 프로젝트 생성하기
1. 스프링 공식 사이트 접속
https://start.spring.io/
2. 만들고자 하는 프로젝트의 기능에 맞춰 설정
<예시>
▪ Project : Gradle
▪ Language : Java
▪ Spring Boot : 3.2.2
▪ Project Metadata :
▪ Group : 해당 프로젝트를 정의하는 고유한 식별자 - com.example
▪ Artifact : 세부 프로젝트를 식별하는 정보 - api
▪ Name : 프로젝트 명 - api
▪ Description : 자유롭게 해당 프로젝트 내용 설명 - Demo project for Spring Boot
▪ Package name : 자동완성 - com.example.api
▪ Packaging : Jar
▪ Java : 17
3. 필요한 의존성을 추가해준다.
필요한 기능을 검색해서 추가해준다.
추가완료된 화면
4. 하단의 GENERATE 버튼을 눌러 완성된 zip파일이 다운 받아지면, 원하는 폴더에 압출을 풀어 놓고, 인텔리제이에서 해당 폴더를 프로젝트로 열면된다.
간혹 프로젝트를 열면 아래와 같이 Could not resolve org.springframework.boot: ~ 에러가 뜬다.
나의 경우, Build Gradle의 SDK를 앞서 설정한 Java ver에 알맞게 설정하지 않아 발생하였다.
해결 방법은 Settings -> Build, Execution, Deployment -> Build Tools -> Gradle에서 하단의 Gradle JVM을 아래와 같이 설정해주면 된다.
버전에 맞는 Gradle이 불러와 졌다면 아래와 같은 출력 결과가 뜰 것이다.
5. 앞서 설정한 프로젝트 이름 (여기선 api) 에 Application이 붙은 파일의 위치에서 실행버튼을 눌러, 아래와 같은 화면이 뜬다면 제대로 동작하는 것이다. 서버가 자동 중지되지 않고 계속 돌아가고 있어야 제대로 동작하는 것! (빨간 버튼이 활성화되어 있어야 합니다.)
<참고> 콘솔 창 색상 적용해서 띄우는 방법
main -> resources -> application.propperties에서 아래의 코드를 추가해주면 됩니다!
pom.xml(Project Object Model)
▪ 메이븐의 기능을 사용하기 위해 작성하는 파일로, 의존성 라이브러리, 빌드 등 해당 프로젝트를 관리하는 데 필요한 내용이 기술되어 있다.
빌드 관리 도구
▪ JVM이나 WAS가, 프로젝트를 인식하고 실행할 수 있게, 작성한 소스코드와 파일들을 빌드하는 도구
메이븐
▪ Java 기반의 프로젝트를 빌드하고 관리하는 데 사용하는 도구
▪ 메이븐의 생명 주기 :
▪ 기본 생명주기
▪ validate : 프로젝트를 빌드하는 데 필요한 모든 정보를 사용할 수 있는지 검토한다.
▪ compile : 프로젝트의 소스코드를 컴파일한다.
▪ test : 단위 테스트 프레임워크를 사용해 테스트를 실행한다.
▪ package : 컴파일한 코드를 가져와서 JAR 등의 형식으로 패키징을 수행한다.
▪ verify : 패키지가 유효하며 일정 기준을 충족하는지 확인한다.
▪ install : 프로젝트를 사용하는데 필요한 패키지를 로컬 저장소에 설치한다.
▪ deploy : 프로젝트를 다른 곳에 공유하기 위해 원격 저장소에 패키지를 복사한다.
▪ 클린 생명주기 : 이전 빌드가 생성한 모든 파일을 제거한다.
▪ 사이트 생명주기
▪ site : 메이븐 설정 파일 정보를 기반으로 프로젝트의 문서 사이트를 생성한다.
▪ site-deploy : 생성된 사이트 문서를 웹 서버에 배포한다.
'Programming > Spring' 카테고리의 다른 글
[Spring] - 스프링 (gradle) springdoc으로 Swagger3 추가하기 (0) | 2024.02.06 |
---|---|
[Spring] - 스프링부트 API 작성 방법 : Post, Put, Delete Mapping (0) | 2024.02.06 |
[Spring] - 스프링부트 API 작성 방법 : GetMapping (0) | 2024.02.04 |
[Spring] - Controller vs RestController (0) | 2024.02.04 |
[Spring] Spring 프레임워크의 특징 (0) | 2024.01.24 |