Spring Boot Auto Configuration

손찬호·2024년 6월 16일
0

Spring Boot 3

목록 보기
4/10

spring-boot-autoconfigure.jar

이 파일에 모든 Auto Configuration 로직이 담겨있다.

application.properties

../src/main/resources/application.properties
에서 logging.level.org.springframework=debug 코드를 추가하면 특정 패키지인 springframework를 디버그 수준에서 로깅하겠다고 설정된다.

logging.level.org.로깅할_패키지명=로깅레벨

로깅 수준이 debug라는 걸 무슨 뜻일까?
spring에서 로깅을 할 때 얼마나 자세하게 로그를 남길지 레벨을 정할 수 있는데 기본값은 INFO로 최소한의 정보를 로깅한다면 DEBUG는 매우 구체적으로 로그를 남긴다.

로그 레벨

  • trace
  • debug
  • info
  • warning
  • error
  • off

아래로 갈수록 로그가 적고 위로 갈수록 자세하게 나온다.

Matches

DEBUG 수준으로 로그를 남겨보면

===========================
CONDITIONS EVALUATION REPORT
===========================

Positive matches:
-----------------
~~~~생략 
Negative matches:
-----------------
~~~~생략
-----------------

Negative mathes는 자동 설정되지 않은 항목이고
Positive matches는 자동 설정된 항목이다.
자동설정된 항목은 spring-boot-autoconfigure.jar에 설정되어 있다.

Spring Boot Starter Web

이 의존성의 각 클래스의 역할에 대해서 알아보자.

DispatcherServletAutoConfiguration

-> Dispatcher Servlet

EmbeddedWebServerFactoryCustomizerAutoConfiguration

-> Embedded Servlet Container
: Tomcat is the default

ErrorMvcAutoConfiguration

이 클래스는 페이지 폴트가 발생하거나, 요청한 URL에 해당하는 컨텐츠가 없는 경우 White Label Error를 발생시키고
에러 로그 페이지를 보여주는 클래스다.
이 클래스로 스프링은 자동으로 오류 페이지를 설정한다.
-> Default Error Pages를 생성

JacksonHttpMessageConvertersConfiguration

Bean <-> JSON
Bean에서 JSON으로
JSON에서 Bean으로 자동으로 변화해주는 클래스

profile
매일 1%씩 성장하려는 주니어 개발자입니다.

0개의 댓글