본문 바로가기
공부/자료조사

Spring vs Spring Boot

by 고구밍 2022. 3. 28.

Spring : 스프링 프레임 워크 (Spring Framwork)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크

  1. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공
  2. 특징
경량 컨테이너
( 스프링=“객체를 담고 있는 컨테이너” )
객체의 생성과 소멸과 같은 라이프사이클 관리
→ 언제든 필요한 객체를 가져다 사용할 수 있게 해줌
IoC (Invertion of Control: 제어 역행)
https://hyunc87.tistory.com/10
의존성 주입을 통해 객체간의 결합도를 낮추어 코드 재사용성을 향상시키고,
단위테스트를 용이하게 할 수 있도록 해줍니다.
Di (Dependency Injection: 의존성 주입) 반복되는 코드들(Boilerplate code/ Plumbing code)을 제거함으로써 개발자가 비즈니스 로직에만 집중할 수 있도록 합니다.
Intergration with Other Frameworks
다른 프레임워크와의 통합
다른 프레임워크(해당 기능에서의 최선의 방법으로 구현된 프레임워크나 모듈들)와 통합
→ 개발자가 비즈니스 로직외에 신경 써야 할 부분을 덜어줌
→ 생산성 향상
AOP
(Aspect-Oriented Programming: 관점지향 프로그래밍)
https://devlog-wjdrbs96.tistory.com/398
문제를 바라보는 관점을 기준으로 프로그래밍하는 기법
→ 문제를 해결 위해
→ 핵심 관심사항 & 전체에 적용되는 공통관심 사항을 기준으로 프로그래밍

 

 

 

Spring Boot : 스프링 프레임워크의 복잡한 환경 설정을 보완 → 스프링 프레임워크를 사용하기 위한 설정의 많은 부분을 자동화

  1. Auto Configuration - 자동 설정

개발자에게 필요할 것 같은 빈(Bean)들을 추측하고 설정

http://melonicedlatte.com/2021/07/11/232800.html

 

스프링 빈(Spring Bean)이란? 개념 정리 - Easy is Perfect

 

melonicedlatte.com

→ 빈(Bean) : Spring IoC 컨테이너가 관리하는 자바 객체를

 

 

 

2. Easy dependency Management - 쉬운 의존성 관리

https://ssoco.tistory.com/66

 

Spring🌱 vs SpringBoot🌼

Spring의 개념을 알 수 있다 : Spring이 왜 등장했는가? SpringBoot의 개념을 알 수 있다 : SpringBoot이 왜 등장했는가? Spring과 SpringBoot 차이를 알 수 있다 : 어떤 것을 해결하기 위해 등장했으며 Spring Bo..

ssoco.tistory.com

Spring-boot-starter (spring-boot-starter-web한 줄만 적어주면
web과 관련된 의존성들을 추가할 수 있음
io.spring.dependency-management dependency-management 한 줄의 의존성으로
버전을 충돌 없이 관리할 수 있음

 

 

3. Embedded Servlet Container Support - 내장 서블릿 컨테이너(내장 서버)

자바 (웹 어플리케이션이 압축된)war파일과 (프로그램을 실행시킬)WAS가 필요
스프링 부트 omcat이나 Jetty같은 내장 서버를 가지고 있음 → jar파일로 배포할 수 있게 됨
따라서 Spring Boot로 개발한 프로젝트를 배포하기 위해서는 단순히
jar파일만 필요 함