스프링 프레임워크 vs 스프링 부트

Jeong Gyejin·2023년 2월 22일
0

스프링 프레임워크

목록 보기
2/17

1. 의존성 관리

  • 스프링 프레임워크에서는 개발에 필요한 각 모듈의 의존성을 직접 설정해야 했으며, 호환되는 버전을 명시해야 정상 동작합니다. 애플리케이션에서 사용하는 스프링 프레임워크나 라이브러리의 버전을 올리는 상황에서는 연관된 라이브러리의 버전까지도 고려를 해야합니다.
  • 스프링 부트에서는 spring-boot-starter라는 의존성을 제공합니다. 아래는 자주 사용되는 라이브러리들 입니다.
라이브러리기능
spring-boot-starter-web:MVC를 사용하는 RESTful API를 이용하기 위한 의존성입니다. 내장톰캣이 포함되어 있어 jar형식으로 실행 가능합니다.
spring-boot-starter-testJUnit Jupiter, Mockito 등의 테스트용 라이브러리르 포함합니다.
spring-boot-starter-jdbcHikariCP 커넥션 풀을 활용한 JDBC 기능을 제공합니다.
spring-boot-starter-security스프링 시큐리티 기능을 제공합니다.
spring-boot-starter-data-jpa하이버네이트를 활용한 JPA 기능을 제공합니다.
spring-boot-starter-cache스프링 프레임워크의 캐시 기능을 지원합니다.

2. 자동 설정

스프링 부트는 스프링 프레임워크의 기능을 사용하기 위한 자동 설정(Auto Configuration)을 지원합니다. 이는 애플리케이션을 개발하는 데 필요한 환경 설정을 알아서 찾아서 자동으로 관리해줍니다.

  • @SpringBootApplication의 어노테이션의 경우는 크게 세가지의 어노테이션을 합쳐놓은 구성입니다.
    • SpringBootConfiguration: @Configuration. @Configuration구성을 자동으로 찾으며 클래스가 Spring Boot 애플리케이션을 제공함을 나타냅니다.
    • EnableAutoConfiguration: 파일에 @Conditional의 조건을 충족할 경우 bean에 등록해 줍니다.
    • ComponentScan: @Component의 어노테이션이 붙은 클래스를 발견해 bean으로 등록해 줍니다.

3. 내장 WAS

스프링 부트의 각 웹 애플리케이션에는 내장 WAS가 있으며, Spring-boot-starter-web의 경우 이 톰캣을 내장합니다.

4. 모니터링

Spring Boot Actuator라는 자체 모니터링 도구를 이용해서 스레드, 메모리, 세션 등 주요 요소들을 모니터링 할 수 있습니다.

profile
항상 더 나은 개발자가 되기 위해서 끊임없이 공부하고 학습하면서 성장하는 사람이 되겠습니다.

0개의 댓글