Spring & Spring Boot

[Spring Boot] Spring Initializr로 스프링부트 설정과 실행하기

단델x 2024. 11. 25. 22:45

** 스프링 부트(Spring Boot)

자바 웹 프로그램을 더 쉽고 빠르게 만들기 위한 도구로 스프링 프레임워크(Spring framework)를 개선한 것이다.

 - 개발 환경 설정을 간소화 함

  ; 스프링은 버전에 따라 동작하는 외부 라이브러리를 찾아서 연동해야하나, 스프링 부트는 미리 설정된 스타터 프로젝트로 외부 라이브러리를 최적화하여 제공 → 사용자가 직접 연동하지 않아도 된다.

 - 웹 애플리케이션 서버를 내장

  ; 내부에 WAS(Web Application Server)인 톰캣을 가지고 있어, 웹 서비스를 jar 파일로 간편하게 배포할 수 있다.

=> 개발자가 개발에만 더 집중할 수 있도록 돕는다.

 

아래 주소에서 스프링 부트 스타터를 사용하여 간편하게 프로젝트를 생성할 수 있다.

https://start.spring.io/

프로젝트 세부 항목 설정

 

스프링 부트 뒤에 표기된 접미사는 소프트웨어의 생명주기를 의미한다.

기본적으로 아무 접미사가 없는 버전 혹은 GA를 선택하면 됨

  - SNAPSHOT : 테스트 단계

  - Mx(Milestone) : 주요 기능 및 버그 수정중인 단계

  - RC(Release Candidate) : 버그가 수정 된 최종 배포 전 단계

  - GA (General Availability) : 최종 배포단계 (안정화)

 

Arifact는 프로젝트의 이름을 의미하며, 이 부분을 수정하면 Package name 이 변경된다. 

Package name은 Group과 Arifact를 조합해서 만든다.

 

Dependencies 설정

필요한 모듈을 추가하고 설정을 마친다.

Spring Initializr를 통해 보는 스프링 각종 모듈 알아보기(1) - Developer tools, Web, Template Engine, Security, Sql, Nosql

 

Spring Initializr를 통해 보는 스프링 각종 모듈 알아보기(1) - Developer tools, Web, Template Engine, Security, Sq

이번 글은 Spring Initialzr(start.spring.io/)에서 추가할 수 있는 스프링의 모듈은 어떤 것이 있는가를 전체적으로 쭉 훑어보고자 합니다. 간단한 설명과 함께 참조할만한 링크들을 함께 작성할 예정입

appleg1226.tistory.com

 

 

 

GENERATE를 클릭하면 설정한 프로젝트가 zip 파일로 다운로드 된다. 

이 파일은 기본적인 스프링 부트 프로젝트 구조와 설정을 포함하며, 사용중인 IDE에서 바로 열어서 사용할 수 있다.

 

프로젝트를 IDE로 열면, IDE는 필요한 의존성 파일을 다운로드하고 프로젝트 구조를 파악하는 작업을 자동으로 진행한다.

 

스프링부트 3.xx 부터는 자바 17버전 이상을 사용해야 함, 버전이 맞지 않는 경우 java 17을 설치하고 설정을 변경후 사용하도록 한다.

- java 17 설치 참고

[Java] 차근차근 Java 설치하기 (JDK17, Window 11)

 

[Java] 차근차근 Java 설치하기 (JDK17, Window 11)

자바 개발 도구 설치 방법에 대해서 알아보겠습니다. Java17은 LTS(Long Term Support : 장기 지원) 릴리즈로 1년 후까지 기술 지원 및 버그를 개선한 서비스를 제공받을 수 있습니다. 업데이트 버전을 꾸

yungenie.tistory.com

- 자바 버전 맞지 않을 때

[Java] InteliJ 자바 버전 설정 오류 "Dependency requires at least JVM runtime version 17. This build uses a Java 8 JVM."

 

[Java] InteliJ 자바 버전 설정 오류 "Dependency requires at least JVM runtime version 17. This build uses a Java 8 JVM."

1. 오류 상황strat.spring.io를 통해서 스프링부트 프로젝트를 생성 후 해당 프로젝트를 열어보니 다음과 같은 오류가 발생하면서 자바 파일을 인식하지 못함   2. 오류 원인스프링부트 3 이상 버전

just-joat.tistory.com

 

이렇게 생성한 프로젝트를 실행하면 콘솔창에서 Tomcat started on port(s): 8080 라는 메시지를 확인할 수 있다. 

이 메시지는 Tomcat 서버가 정상적으로 시작되어 8080 포트에서 요청을 받을 준비가 되었음을 의미한다.

(Tomcat 서버는 기본적으로 8080 포트에서 요청을 수신 함)

 

** 로컬 접속

실행한 서버에 접속하기 위해 브라우저에서 localhost:8080을 입력하는데

여기서 localhost는 내 컴퓨터(현재 사용중인 컴퓨터)를 의미하며 실제 IP주소는 127.0.0.1 이다. 

 

** 8080포트

: 뒤의 8080은 포트번호로 특정 애플리케이션이나 서비스를 구분하기 위해 사용된다. 

8080포트는 주로 웹 애플리케이션 서버에서 사용되는 포트이다.

HTTP 프로토콜을 사용하는 웹 서버는 기본적으로 80 포트를 사용하는데, 톰캣과 같은 was는 기본적으로 8080 포트로 HTTP요청을 수신한다. → 로컬에서 주로 사용, 개발용, 테스트용 서버에서 사용함

별도로 tomcat이 설치되어있는 경우, 설치된 경로의 conf/server.xml에서 포트 번호를 확인하고 수정할 수 있다.
스프링부트와 같이 애플리케이션에 내장되어있는 경우에는 별도의 server.xml 파일이 존재하지 않으며,
application.properties 또는 application.yml 파일에서 tomcat 설정을 제어할 수 있다.

 

localhost:8080뒤에 /test.html 과 같이 파일명을 붙이면

현재 실행중인 서버에 해당 파일을 요청한다.

이렇게 직접 지정하는 경우 src > main > resources > static 디렉토리에서 해당 파일을 찾고 html 코드를 응답한다.