JAVA/Spring

Spring Boot 이란? [Spring Boot은 왜써?]

min민 2023. 3. 10.

 

 

https://spring.io

 

Spring | Home

Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.

spring.io

 

Spring Boot 이란?

Spring Boot은 Spring Framework의 편리함에도 불구하고 Spring 설정의 복잡함으로 인해 Spring 기반 애플리케이션 개발을 시작하기도 전에 어려움을 겪는 문제점을 해결하기 위해 생겨난 Spring Project 중 하나이다.

 

 

Spring Boot  사용 이유

* XML 기반의 복잡한 설계 방식 지양

* 애플리케이션 설정의 자동 구성

* 의존 라이브러리의 자동 관리

* 프로덕션급 애플리케이션의 손쉬운 빌드

* 내장된 WAS를 통한 손쉬운 배포

 

 

XML 기반의 복잡한 설계 방식 지양 ?

Spring Boot 이 전의 Spring 애플리케이션 개발을 위한 설정은 굉장히 복잡했으나, Spring Boot으로 인해 개발자는 Spring의 복잡한 설정에 대한 어려움으로부터 벗어날 수 있게 되었다.

 

 

 

애플리케이션 설정의 자동 구성?

Spring Boot은 스타터(Starter) 모듈을 통해 설치되는 의존 라이브러리를 기반으로 애플리케이션의 설정을 자동으로 구성한다.

 

 

아래 예시↓

 

implementation 'org.springframework.boot:spring-boot-starter-web 


implementation 'org.springframework.boot:spring-boot-starter-JDBC

위와 같을때

WEB /JDBC를 체크해서 WEB일경우 웹 애플리케이션이라 추측 한 뒤 웹 에플리 케이션을 띄울 서블릿 컨테이너를 설정하고, JDBC일 경우 데이터베이스에 연결이 필요하다고 추측한 뒤 JDBC를 자동으로 구성한다.

 

 

 

 

의존 라이브러리의 자동 관리?

Spring Boot의 starter 모듈 구성 기능을 통해 의존 라이브러리를 수동으로 설정해야 하는 불편함이 사라졌다.

몇 줄 안되는 의존 라이브러리 설정을 통해 Spring 애플리케이션 구동시 필요한 의존라이브러리를 불러올 수 있다.

 

 

프로덕션급 애플리케이션의 손쉬운 빌드?

Spring Boot을 사용하면 개발한 애플리케이션 구현 코드를 손쉽게 빌드하여 직접 빌드 결과물을 War 파일 형태로 WAS(Web Application Server)에 올릴 필요가 없다.

 

*WAS가 뭔데?

Web Application Server로 구현된 코드를 빌드해서 나온 결과물을 실제 웹 애플리케이션으로 실행되게 해주는 서버 소프트웨어다.

WAS는 HTTP 프로토콜을 사용하여 클라이언트의 요청을 받아들이고, 처리한 결과를 다시 클라이언트에게 전송합니다.

 

WAS의 기능?

1. 웹 어플리케이션 실행 환경 제공: WAS는 웹 어플리케이션을 실행하기 위한 환경을 제공

2. 데이터베이스 연동 기능 제공: WAS는 데이터베이스와의 연동 기능을 제공하여, 데이터베이스와의 상호작용을 가능하게 한다. 이를 통해 웹 어플리케이션에서 데이터를 저장하거나 검색하는 등의 작업을 수행할 수 있다.

3. 보안 기능 제공: WAS는 웹 어플리케이션의 보안 기능을 제공한다. 예를 들어, 사용자 인증, 권한 부여 등의 기능을 제공하여 보안적인 측면에서 웹 어플리케이션을 보호한다.

4. 성능 최적화 기능 제공: WAS는 웹 어플리케이션의 성능을 최적화하기 위한 다양한 기능을 제공한다. 이를 통해 웹 어플리케이션의 처리 속도를 높이고, 사용자 경험을 개선할 수 있다.

 

WAS는 일반적으로 웹 서버와 함께 사용되며, 웹 서버는 정적인 웹 페이지를 처리하고, WAS는 동적인 웹 어플리케이션을 처리하는 역할을 담당한다.

 

 

 

 

내장된 WAS를 통한 손쉬운 배포?

Spring Boot은 Apache Tomcat이라는 WAS를 내장하고 있기때문에 별도의 WAS를 구축할 필요가 없으며, Spring Boot을 통해 빌드된 jar 파일을 이용해서 아래와 같은 명령어

java -jar <jar 파일명>.jar

// ex) java -jar sample-app.jar


이와같이 java -jar <jar 파일명>.jar 명령어를 통해 애플리케이션을 손쉽게 실행 할 수 있다.

 

한 줄만 입력 해주면 서비스 가능한 웹 애플리케이션을 실행 할 수 있다.

 

 

Spring Boot의 존재이유?

Spring 구성은 Spring에게 맡겨버리고 비즈니스 로직에만 집중하자!

 

 

 

 

point

  1. Spring Boot은 Spring 설정의 복잡함이라는 문제점을 해결하기 위해 생겨난 Spring Project 중 하나이다.
  2. Spring Boot을 사용해야 하는 이유
    • Spring Boot은 XML 기반의 복잡한 설계 방식을 지양한다.
    • Spring Boot의 starter 모듈 구성 기능을 통해 의존 라이브러리를 자동으로 구성해준다.
    • 애플리케이션 설정의 자동 구성
    • Spring Boot은 프로덕션급 애플리케이션의 빌드를 손쉽게 할 수 있다.
    • Spring Boot은 내장된 WAS를 사용가능하기 때문에 배포가 용이하다.
  3. Spring Boot의 핵심 컨셉
    • Spring 구성은 Spring에게 맡겨버리고 비즈니스 로직에만 집중하자!

 

 

 

DAY1 남은내용: DI, AOP 재정리. [코드 작성해가며 정리하기] ↓

 

다음주제: DI

 

댓글