[Spring] Spring 과 Spring Boot 의 차이점

dustle·2023년 8월 22일
1

Spring

Spring Framework 는 Java 기반 애플리케이션 개발을 지원하는 오픈소스로 간략히 Spring 이라고 합니다.
스프링 이전에는 EJB 를 사용해 개발을 했는데 기술의 복잡도가 증가하여 성능이 느렸습니다.
스프링은 EJB 의 단점을 해결하여 JVM에서 작동하며, 아파치 라이선스 2.0을 따르는 오픈 소스 프레임워크입니다.

Spring 특징

  • POJO

    • 스프링은 POJO 방식의 프레임워크 입니다.
    • 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 라이브러리 등을 지원하기 용이하고 객체가 가볍습니다.
  • AOP

    • 관점 지향 프로그래밍
    • 애플리케이션의 핵심 비즈니스 로직과 부가적인 기능을 분리하여 모듈화 할 수 있습니다.
  • DI

    • 각각의 계층이나 서비스 간에 의존성이 존재할 경우 프레임워크가 연결시켜줍니다.
    • 의존성과 결합도를 낮춰줍니다.
  • IoC

    • 객체의 생성과 관계 설정의 제어권을 프레임워크가 가짐으로 스프링 컨테이너가 객체의 생명 주기를 관리하고 필요한 의존성을 주입합니다.

하지만 Spring 은 개발자가 직접 설정 파일을 작성하여 스프링 컨테이너를 구성하고, 필요한 빈 객체를 등록하고 의존성을 설정해야 합니다.

Spring Boot 는 Spring Framework 를 보다 쉽게 사용할 수 있도록 만든 프레임워크입니다.

Spring Boot

  • 독립형 Spring 애플리케이션 생성
  • Tomcat, Jetty 또는 Undertow 자체적인 웹 서버가 내장되어 있습니다.(WAR 파일을 배포할 필요 없음)
  • 코드 생성 및 XML 구성에 대한 요구 사항이 없습니다.
  • 독립적으로 실행 가능한 Jar 파일로 프로젝트 빌드가 가능합니다.
  • 스프링은 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크다.
  • 스프링 부트는 스프링 애플리케이션을 만들 때에 필요한 초기 설정을 간편하게 해주는 프레임워크다.

0개의 댓글