ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 프레임워크와 스프링 부트
    개발/Spring Boot 2023. 7. 15. 00:29

    Spring Framework에 필요한 모듈들을 추가하다 보면 설정이 복잡해지는 문제를 해결하기 위해 Spring Boot가 등장했다.

    Spring Boot는 별도의 복잡한 설정 없이, 사용할 수 있는 프레임워크이다.

     

    의존성 관리

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

    프레임워크와 호환되는 버전을 명시해야하며 연관된 다른 라이브러리의 버전까지도 고려해야했다.

    스프링 부트에서는 이런 불편함을 해소하기 위해 'spring-boot-starter'라는 의존성을 제공한다.

    spring-boot-starter의 의존성은 여러 종류가 있고, 기능과 모듈의 호환성을 고려하여 최적의 조합을 제공한다.

     

    아래는 많이 사용되는 spring-boot-starter 라이브러리이다.

    spring-boot-starter-web: 스프링 MVC를 사용하는 RESTful 애플리케이션을 만들기 위한 의존성이다. 기본적으로 Tomcat를 포함하고 있어서 jar형태로 실행도 가능하다.

    spring-boot-starter-test: Junit, Jupiter, Mockito등의 테스트용 라이브러리를 포함한다.

    spring-boot-starter-jdbc: HikariCP 커넥션 풀을 통한 JDBC 기능을 제공한다.

    spring-boot-starter-security: 스프링 시큐리티 기능을 제공한다.

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

    spring-boot-starter-cache: 스프링 프레임워크의 캐시 기능을 지원한다.

     

    자동 설정

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

    @SpringBootApplication 어노테이션이 그러한 역할을 한다.

    @SpringBootApplication은 크게 세 개의 어노테이션을 합쳐놓은 구성이다.

    - @SpringBootConfiguration

    - @EnableAutoConfiguration

    - @ComponentScan

    스프링 부트 애플리케이션이 실행되면 @ComponentScan 어노테이션이 @Component 시리즈 어노테이션이 붙은 클래스를 발견해 bean을 등록한다. 이후 @EnableAutoConfiguration을 통해 다양한 자동설정이 적용된다

     

    @Component 시리즈 어노테이션

    - @Controller

    - @RestController

    - @Service

    - @Repository

    - @Configuration

     

    내장 WAS

    기본 의존성인 'spring-boot-starter-web'에 Tomcat이 내장되어 있다.

     

    모니터링

    스프링 부트에는 Spring Boot Actuator라는 모니터링 도구가 있다.

     

    ⚠️ 참고: [스프링부트 핵심가이드]

    댓글

Designed by Tistory.