본문 바로가기

spring36

[spring 23편] spring boot 3.2.1 적용 회고 목차는 spring series 목차 에 있습니다. [spring 23편] spring boot 3.2.1 적용 회고 나중에 볼려고 정리했습니다. Intro spring boot 3.2.1 적용해보며 경험했던 점을 정리했습니다. 기억이 나는데로 적었으며, 틀린 내용이 있을 수 있습니다. 지금 글을 쓰는 시점에 spring boot 3.2.2 가 나왔습니다. Parameter Name Discovery spring boot 3.2.1 적용하면서 bean 을 가져올 때(생성자 주입 또는 Autowired 등), 빈이 2개 이상 발견됐다는 에러가 발생했습니다. 해결방안은 Qualified 를 사용해서 bean 을 명시적으로 주입합니다. 아래 패치 내용으로 인해 그런 것이라 추정됩니다. 확실하지 않습니다. Th.. 2024. 2. 20.
[spring 22편] 멀티스레드 환경 로그 식별 (MDC, ThreadLocal) 목차는 spring series 목차 에 있습니다. [spring 22편] 멀티스레드 환경 로그 식별 (MDC, ThreadLocal) 나중에 볼려고 정리했습니다. 상황 멀티 스레드 환경에서 로그를 찍다보면 식별이 안되는 경우가 있습니다. 멀티스레드 환경에서는 컨텍스트 스위칭이 일어나 실행이 되기 때문에 로그가 섞이기 때문입니다. 이를 해결하는 방법중 Correlation ID 라는 것이 있습니다. Correlation ID, ThreadLocal 위와 같은 상황을 해결하기 위해 같은 스레드 요청에 대해 특정 ID 를 부여해 grouping 할 수 있습니다. 이를 Correlation ID 라고 합니다. 자바에서는 이를 구현하기 위해 ThreadLocal 을 제공하며, ThreadLocal 은 동일한 스.. 2023. 10. 6.
[spring 21편] mapstruct 활용 2번째 (expression 사용) source 는 Github 에 있습니다. 목차는 spring series 목차 에 있습니다. [spring 21편] mapstruct 활용 2번째 (expression 사용) mapstruct expression 활용 expression 을 통해 source list --> target list 으로 convert 하는 예제를 정리했습니다. Source 2023. 1. 21.
[spring 20편] spring validate custom (spel 이용해서 validate 수행할지 결정) source 는 Github 에 있습니다. 목차는 spring series 목차 에 있습니다. [spring 20편] spring validate custom (spel 이용해서 validate 수행할지 결정) spring validation custom spel (Spring Expression Language) 을 이용해서 validate 을 수행할지 안할지를 결정하는 예제입니다. 소스를 간략히 설명하면 ItemConstraint 를 선언하면 validation 이 수행됩니다. 이 때, condition 조건에 따라 validate 를 수행할지 안할지를 결정할 수 있습니다. condition 조건은 spel (Spring Expression Language) 을 이용해서 제한적으로 체크합니다. (추후.. 2023. 1. 13.