Spring/Spring Boot

Spring 이란 - 스프링 VS 스프링 부트

민돌v 2021. 11. 3. 18:58

 

Spring VS Spring boot

  • 간단하게! 개발 속도가 느리고 비대했던 스프링 프레임웍을 좀 더 빠르게 만드는데 집중하기 위해 개발된 프레임워크가 스프링부트 입니다.

 


스프링 부트

  1. 스프링을 편리하게 사용할 수 있도록 지원해주는 프레임워크 (최근에 기본으로 사용)
  2. 단독으로 실행할 수 있는 스프링 어플리케이션을 쉽게 생성
  3. Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
  4. 손쉬운 빌드 구성을 위한 starter 종속성 제공
  5. 스프링과 3rd parth(외부) 라이브러리 자동 구성 - Spring에 맞는 외부라이브러리 버전을 알아서 설정해줌
  6. 메트릭, 상태확인, 외부 구성 같은 프로덕션 준비 기능 제공
  7. 관례에 의한 간결한 설정

 

Spring boot는 Spring 프레임워크를 편리하게 사용할 수 있도록 해주는 프레임워크이기 때문에, 둘이 맞물려서 사용이 되는거다??!??

 

 

그렇다면 다시, Spring이란!!

  • 스프링은 자바 언어 기반의 프레임 워크
  • 자바 언어의 가장 큰 특징인, 객체 지향 언어를 살림
  • 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임 워크 (모듈간 의존성을 낮춘다라는 느낌이라고 생각함)
  • 정리하자면, 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크이다

 

스피링 레이어 구성

스피링은 객체지향적인 자바 기반의 프레임워크이기 때문에

각각의 역할을 세부적으로 나누어서 레이어 단위로 처리를 한다.

스프링 레이어 구성

 

1. Controller

컨트롤러는 클라이언트의 요청을 받는다.

요청에 대한 처리는 하지않고, 받기만 하고 서비스에게 요청을 보낸다,

서비스가 비지니스 로직을 처리해서 컨트롤러에게 알려주면 클라이언트에게 응답한다.

 

2. Service

비지니스 로직을 처리한다.

비지니스 로직이란, 흔히 CRUD라고 볼 수있다. - 데이터를 생성,표시, 저장, 변경하는 부분을 말한다.

DB정보가 필요할 때 Repository에게 데이터를 요청한다.

 

3. Repository

DB를 관리한다. (연결, 해제, 자원관리)

DB의 CRUD 작업을 처리한다.

 

* 추가적으로 DB는 DataBase 와 별도의 연결 과정을 거쳐서 데이터 처리를 해야한다.

* spring에서는 jpa라는 orm을 제공하기 때문에, 사용자가 직접 쿼리문을 작성하지않아도 데이터를 조작할 수 있다.

* jpa에 대해서는 다음에 자세하게 다루어보자

 

휴 오늘도 끝!