[Spring boot] 스프링 프레임워크 vs 스프링 부트

WOOK JONG KIM·2022년 10월 24일
0
post-thumbnail

스프링 부트

기존의 스프링 프레임워크는 필요한 모듈을 추가하다 보면 설정이 복잡해지는 문제

-> 해결을 위해 등장한 것이 스프링 부트

스프링 부트는 별도의 복잡한 설정을 하지 않아도 개발이 가능하게끔

의존성 관리

스프링 프레임워크에서는 개발에 필요한 각 모듈의 의존성을 직접 설정해야 했다

반면 스프링 부트에서는 이 같은 불편함 해결
-> Spring-boot-starter라는 의존성을 제공

이는 각 라이브러리의 기능과 관련해서 자주 사용되고 서로 호환되는 버전의 모듈 조합을 제공

  1. Spring-boot-starter-web : 스프링 MVC를 사용하는 RESTful 어플리케이션을 만들기 위한 의존성 (내장 : Tomcat)

  2. Spring-boot-starter-test : 테스트용 라이브 러리 제공

  3. Spring-boot-starter-jdbc : 커넥션 풀을 활용한 JDBC 기능 제공

  4. Spring-boot-starter-security : 스프링 시큐리티 기능 제공

  5. Spring-boot-starter-data-jpa : 하이버네이트를 활용한 JPA 기능 제공

  6. Spring-boot-starter-cache : 스프링 프레임워크의 캐시 기능 제공

의존성 조합 충돌 문제가 없도록 spring-boot-starter-parent가 검증된 조합 제공

자동 설정(Auto Configuration)

어플리케이션에 추가된 라이브러리를 실행하는데 필요한 환경설정을 알아서 찾아 준다

-> 즉 애플리케이션을 개발하는 데 필요한 의존성을 추가하면 프레임워크가 이를 자동으로 관리 해줌

이를 이해하기 위한 @SpringBootApplication은 다음 페이지에서 이해하자!

내장 WAS(Web Application Server)

각 웹 애플리케이션에는 내장 WAS 가 존재

톰캣 말고 다른 웹서버(Jetty, Undertow 등)도 사용 가능

모니터링

개발이 끝나고 서비스를 운영하는 시기에는 해당 시스템이 사용하는 스레드, 메모리, 세션 등의 주요 요소들을 모니터링 해야 함

-> 이를 위해 스프링 부트 액추에이터라는 자체 모니터링 도구 사용

profile
Journey for Backend Developer

0개의 댓글