[CS][Spring] Spring Framework & Spring Boot

손경이·2024년 4월 17일
0

CS Study

목록 보기
9/25

Spring Framework & Springboot


Spring Framework : 자바로 애플리케이션을 개발하는 데 필요한 기능을 제공하고 쉽게 사용하도록 돕는 도구
Spring Boot : 스프링에서 제공해주는 필요한 모듈들을 추가하다 보면 설정이 복잡해지는 문제가 있음. 그 문제를 해결하기 위해 등장한 것이 스프링 부트


> Spring Framework(== Spring)

  • 자바 기반의 애플리케이션 프레임워크로 엔터프라이즈급 애플리케이션을 개발하기 위한 다양한 기능 제공
  • 자바에서 가장 많이 사용하는 프레임워크
    • 우리나라의 경우 '전자정부 표준 프레임워크'의 기반 기술로 채택되어 공공기관 웹 서비스를 개발할 때 사용

| 스프링 핵심 가치
애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는 것

| 스프링 프레임워크의 다양한 모듈

  • 기능별로 약 20여 개의 모듈로 구성됨

> Spring Boot

  • 스프링은 목적에 따라 다양한 프로젝트를 제공하는 데 그 중 하나가 스프링 부트
  • 스프링에서 제공해주는 필요한 모듈들을 추가하다 보면 설정이 복잡해지는 문제가 있음. 그 문제를 해결하기 위해 등장한 것이 스프링 부트

| 스프링 부트 공식 사이트
Spring boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
스프링 부트를 이용하면 단독으로 실행 가능한 상용 수준의 스프링 기반 애플리케이션을 손쉽게 만들 수 있습니다.

=> 별도의 복잡한 설정을 하지 않아도 스프링 부트를 사용하면 개발이 쉬워짐


> Spring Boot 특징

  1. 의존성 관리

    • 스프링의 경우 개발에 필요한 각 모듈의 의존성을 직접 설정해야 함
      • 개발자가 스프링이나 라이브러리의 버전을 직접 고려해야 함
    • 스프링 부트의 경우 'spring-boot-starter'의 의존성이 여러 종류가 있고 각 라이브러리의 기능과 관련해서 자주 사용되고 서로 호환되는 버전의 모듈 조합을 제공
      • 개발자는 라이브러리 호환 문제를 신경 쓰지 않아도 됨
  2. 자동 설정

    • 스프링 부트는 스프링의 기능을 사용하기 위한 자동 설정을 지원
    • 애플리케이션에 추가된 라이브러리를 실행하는 데 필요한 환경 설정을 알아서 찾아줌
    • 애플리케이션을 개발하는 데 필요한 의존성을 추가하면 프레임워크가 이를 자동으로 관리해줌
  3. 내장 WAS(Web Application Server)

    • 스프링 부트의 각 웹 애플리케이션에는 내장 WAS가 존재
    • 웹 애플리케이션을 개발할 때 가장 기본이 되는 의존성인 'spring-boot-starter-web'의 경우 톰캣을 내장함
    • 필요에 따라서 웹 서버(jetty, Undertow 등)로 대체 가능
  4. 모니터링

    • 스프링 부트 액추에이터(Spring Boot Actuator) 라는 자체 모니터링 도구가 있음

참고

0개의 댓글