일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- STS
- Spring Boot
- myBatis
- JdbcTemplate
- 리눅스
- XML
- Di
- AOP
- spring
- @AspectJ
- Spring JDBC
- @JUnit
- Linux
- SpringJDBC
- 마이바티스
- spring framework
- @test
- Dependency Injection
- pointcut
- @Spring-Test
- Ubunt
- POJO
- unix
- Framework
- JDBC TEMPLATE
- java spring
- 컨테이너
- 프로퍼티
- spring aop
- java
Archives
- Today
- Total
개키우는개발자 : )
Web 자동 구성 살펴보기 본문
반응형
스프링 부트 웹 모듈의 자동 구성 분석
스프링 부트의 웹 모듈(Spring Web)을 추가하면, 기본적인 웹 애플리케이션을 구현하기 위해 필요한 다양한 빈과 설정이 자동으로 구성됩니다. 이 과정에서는 웹 애플리케이션의 구성과 작동 방식에 필요한 주요 자동 구성 요소를 살펴봅니다.
1. 자동 구성 추가로 인한 변화
- 자동 구성 빈 개수 증가:
- 웹 모듈 추가 전: 약 13개 (JMX 제외).
- 웹 모듈 추가 후: 약 62개.
- 약 50개의 자동 구성 빈이 추가됨.
2. 주요 자동 구성 클래스
1) HTTP 메시지 컨버터 (HttpMessageConvertersAutoConfiguration)
- 역할:
- JSON, XML, Text 등 다양한 형식의 데이터를 HTTP 요청과 응답의 본문으로 변환.
- 주요 컨버터:
- StringHttpMessageConverter: 문자열을 변환.
- MappingJackson2HttpMessageConverter: JSON 처리.
- 조건:
- spring-web 모듈이 포함되어야 활성화.
- 리액티브 모드에서는 다른 컨버터 사용.
- 활용:
- 사용자 정의 인코딩, 캐릭터 세트를 설정하여 다국어 지원.
2) Jackson ObjectMapper 자동 구성
- 기본 설정:
- Jackson2ObjectMapperBuilder를 통해 기본 JSON 매퍼 빈 생성.
- 커스터마이징 포인트 제공.
- 활용:
- 스프링 부트의 설정값을 유지하면서 사용자 정의 설정 가능.
- 직접 객체를 생성하지 않고 주입받아 사용 권장.
3) RestTemplateAutoConfiguration
- 역할:
- RESTful API 호출을 위한 템플릿 제공.
- 구성:
- RestTemplateBuilder 빈을 제공.
- 추가 설정 후 빈으로 등록 가능.
- 활용:
- New RestTemplate 방식 대신 RestTemplateBuilder 사용 권장.
3. 서블릿 컨테이너 및 HTTP 관련 자동 구성
1) 임베디드 서블릿 컨테이너
- 지원 컨테이너:
- Tomcat (기본값), Jetty, Undertow.
- 설정:
- server.tomcat과 같은 프로퍼티를 통해 세부 설정 가능.
- SSL, HTTP2, URI 인코딩 등 세부 설정 포함.
2) DispatcherServlet 자동 구성
- 역할:
- HTTP 요청을 처리하고 컨트롤러로 라우팅.
- 구성:
- 기본적으로 생성되며 프로퍼티를 통해 세부 설정 가능.
3) HTTP 인코딩 필터
- 역할:
- 요청 및 응답의 문자 인코딩 설정.
- 기본 빈:
- CharacterEncodingFilter 자동 등록.
4) 멀티파트 파일 업로드
- 지원 옵션:
- 기본: StandardServletMultipartResolver.
- Apache Commons 라이브러리를 추가하면 우선 적용.
4. 에러 처리 및 기타 자동 구성
1) 에러 처리 빈
- 구성:
- BasicErrorController: 기본 에러 처리.
- ErrorAttributes: 에러 정보 제공.
- 활용:
- 커스터마이징하여 애플리케이션에 적합한 에러 처리 구현 가능.
2) 웹 MVC 기본 구성
- 구성:
- 폼 콘텐츠 필터, 플래시 맵 매니저, 로컬 리졸버 등이 자동 등록.
3) WebSocket 자동 구성
- 역할:
- WebSocket 기능 사용 시 관련 빈 제공.
5. 자동 구성 활용 전략
- 자동 구성 이해:
- 기본 제공되는 빈과 설정을 파악하고 필요 시 변경.
- 커스터마이징 포인트 활용:
- 커스터마이저, 빌더를 활용하여 세부 설정 가능.
- 스프링 부트 기본 설정 유지:
- 스프링 부트의 디폴트 설정을 최대한 활용하여 유지 보수성과 일관성 확보.
결론
스프링 부트의 웹 모듈 자동 구성은 HTTP 요청과 응답, 서블릿 컨테이너, 에러 처리 등 기본적인 웹 애플리케이션 구성 요소를 지원합니다. 이를 활용하여 빠르게 애플리케이션을 개발하고, 필요 시 커스터마이징을 통해 요구 사항에 맞는 설정을 추가할 수 있습니다.
반응형
'토비의 스프링 부트 - 이해와 원리 > 섹션11 - 스프링 부트 자세히 살펴보기' 카테고리의 다른 글
Jdbc 자동 구성 살펴보기 (0) | 2025.01.04 |
---|---|
Core 자동 구성 살펴보기 (1) | 2025.01.04 |
자동 구성 조건 결과 확인 (0) | 2025.01.04 |
자동 구성 분석 방법 (0) | 2025.01.04 |
스프링 부트 자세히 살펴보기 (0) | 2025.01.04 |
Comments