본문 바로가기
Spring

Spring Framework과 Spring Boot

by 융디's 2024. 6. 3.
728x90
Spring Framework과 Spring Boot

Spring Framework과 Spring Boot

Spring 이란?

“ 개발자의 겨울은 끝났다”
스프링은 스프링 프로젝트의 모음
  • 모든 스프링 프로젝트는 반드시 스프링 프레임워크가 필요하다!

Spring FrameWork 이란?

자바 기반의 애플리케이션의 개발을 지원하는 오픈소스 애플리케이션 프레임워크
  • 자유롭게 기술을 선택하고 설정할 수 있다. ⇒ 뭐든 다 할 수 있어!
  • Spring 생태계가 커짐 + 스프링 프레임 워크의 다양한 기능 + 오픈 소스 등장
    • 외부 라이브러리와 함께 사용할 일이 많아짐 → 직접 해야 하는 설정 증가 및 복잡

      Spring Boot가 등장
      • 어떤 라이브러리를 사용할지..
      • 필요한 의존성이 무엇인지…
      • 호환되는 버전을 정확하게 명시
  • 개발자가 직접 설정 파일을 만들어 컨테이너를 구성, 필요한 Bean 객체 등록, Bean 객체 간의
    의존성 설정을 해야 한다.

SpringBoot란?

스프링 프레임워크를 포함해서 전반적인 스프링의 기술들의 설정, 버전 관리를 알아서 해서, 개발자들이 개발에만 집중하도록 도와주는 프레임워크
  • Spring boot도 역시 spring 프로젝트 중 하나므로, 스프링 프레임워크와 함께 사용한다.

< 장점 >

  • 자동 구성
    • 일반적으로 자주 사용하는 수많은 Bean을 자동으로 설정한다.
    • spring을 이용한 개발의 필요한 복잡한 설정은 Spring Boot가 해준다!
  • 독립 실행 가능한 애플리케이션
    • 과거에는 WAS를 설치하고 개발한 코드를 WAR로 빌드 후, WAR 파일을 WAS 폴더에 하위에 넣고, WAS를 실행해야 하는 번거로움이 존재했다.
    • 내장 서버(Tomcat, Jetty, Undertow)를 지원하여 별도의 웹 서버를 설치할 필요 없다.
    • war이 아닌 jar로 패키징 하여, main 메서드로 바로 실행이 가능
  • 편리한 의존성 관리& 권장 버전 관리
    • spring boot는 라이브의 버전을 관리해 준다.
    • spring boot가 없던 시절에는 어떤 라이브러리와 버전을 쓸지 고르고 각 라이브러리 버전끼리 호환이 되는지 안되는지 확인하는 과정에서 시간이 많이 쓰였다.
    • 기본 라이브러리 묶음을 제공 → spring boot가 알아서 가져온다.
      • 웹을 사용하고 싶어! spring-boot-starter-web : spring MVC, 내장 톰캣 등 포함
      • jdbc를 사용하고 싶어! spring-boot-starter-jdbc : JDBC, 커넥션플 등 포함

< 단점 >

  • 과도한 자동 구성
    • 때때로 너무 많은 자동화로, 애플리케이션 시작 시간이 길어지거나 예외가 발생
  • 리소스 사용량
    • 내장 서버와 자동 구성때문에, 솔루션에 따라 상대적으로 많은 메모리와 리소스를 사용
Spring FramworkSpring Boot
목적애플리케이션 개발을 더 쉽게!스프링의 개발을 더빠르게!
설정 파일개발자가 수동으로 설정자동 구성
XML일부 파일은 XML로 직접 생성하고 관리사용하지 않음
서버서버를 별도로 수동 설정내장형 서버 제공

728x90

'Spring' 카테고리의 다른 글

Spring Boot 실행 클래스 분석하기  (0) 2024.06.06
Spring Boot Project 생성하기(Gradle)  (0) 2024.06.05
WEB Server와 WAS  (0) 2024.06.04
Library와 Framework, API  (0) 2024.06.02