[스프링 입문] 스프링 부트 사용 이유와 프로젝트 생성 방법

enxnong·2023년 4월 16일
0

Spring

목록 보기
1/26

김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술을 보면서 공부한 내용입니다.

왜 스프링 부트를 사용하는가?

1) 라이브러리 관리 자동화

→ Maven의 기능과 ‘starter’ 컴포넌트들을 이용해 라이브러리 의존성을 간단하게 처리

  • stater 의존성과 설정을 자동화 해주는 모듈이다. 만약 스프링에 JPA dependancy가 필요할 경우 pom.xml(메이븐의 경우)에 spring-boot-starter-jpa를 추가하면 알아서 해당 라이브러리를 다운받아 추가한다.

2) 설정 자동화

→ 프로젝트에 추가된 라이브러리를 기반으로, 실행에 필요한 환경을 자동 설정

3) 라이브러리 버전 자동 관리

→ Spring 라이브러리 뿐만 아니라 호환되는 버전으로도 자동 다운로드

4) Tomcat 서버 내장

→ 내장된 tomcat 서버를 통해 보다 따로 설치할 필요가 없으며, 빠르게 실행 결과 확인 가능

5) 독립적으로 실행 가능한 Jar

→ War가 아닌 Jar파일로 패키징하여 배포 및 실행 가능

  • Jar (Java Archive) JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일원하는 구조로 구성이 가능하며
    JDK(Java Development Kit)에 포함하고 있는 JRE(Java Runtime Environment)만 가지고도 실행이 가능
  • War (Web Application Archive) servlet / jsp 컨테이너에 배치 할 수 있는 웹 어플리케이션(Web Application) 압축 파일 포맷으로 사전 정의 된 구조를 사용하며 WAR파일을 실행하려면 Tomcat, Weblogic, Websphere 등의 웹 서버 (WEB)또는 웹 컨테이너(WAS)가 필요
💡 즉! Spring Boot는 Spring의 복잡한 환경 설정을 spring-boot-starter 옵션을 사용해 개발자가 일일이 모든 설정을 할 필요 없이 보다 쉽게 사용하기 위해서 사용한다.

프로젝트 생성

  1. 스프링 부트 스타터 사이트로 이용해서 스프링 프로젝트를 생성한다.

https://start.spring.io/

  • Thymeleaf란?
    • html을 만들어주는 템플릿 엔진
  1. IntelliJ 실행하여 프로젝트를 import한다.

  • build.gradle을 선택하여 import하면 된다.

src폴더밑을 보면 maintest로 나눠져있다.

  • main : 자바와 resources파일들이 있고 자바 안에는 실제 패키지들이 들어있다.
    • resouces : 실제 자바 코드파일을 제외한 xml, properties 등 설정파일들이 들어간다.
  • test : 테스트 코드들과 관련된 소스들이 들어있다.

Error 발생

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.

Description:

Web server failed to start. Port 8080 was already in use.

Action:

Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.

보니까 서버 충돌이다.

포트 변경을 해주면 간단하게 해결될 것 같다.

포트 변경 방법

1) Run - Edit Configurations로 들어간다.

2) Environment variables에 server.port='원하는 포트번호'로 수정한다.


완성된 결과 화면

  • ‘localhost.포트번호’로 들어간다.

profile
높은 곳을 향해서

0개의 댓글