0. 사전 준비 사항[ SpringBoot 3.X 마이그레이션 사전 준비 사항 ]2.7.x 최신 버전으로 사전 업데이트하기버전업에 따른 의존성 변경 검토하기2.7 버전의 의존성3.x 버전의 의존성Spring Security 준비하기스프링 부트 3에서는 스프링 시큐리티 6을 사용함스프링 시큐리티는 6으로의 안전한 전환을 위해 5.8 버전을 제공하므로, 먼저 5.8로 버전업 필요스프링 시큐리티 6은 모든 dispatch type에 대해 authorization을 적용하는데, 해당 타입을 지정하려면 spring.security.filter.dispatcher-types 프로퍼티를 사용하면 됨시스팀 요구사항자바 17 (자바 8은 더 이상 지원하지 않음)스프링 프레임워크 6 [ IntelliJ 업데이트 ]스프링..
1. 유용한 개발 관련 아티클 및 영상 #29Domain Events에 대하여Domain Events의 정의와 중요성시스템 내에서 중요한 특정 액션이나 상태 변경을 표현함이는 전체 애플리케이션에 영향을 줄 수 있으며 특정 도메인이나 특정 영역에 밀접하게 연관되어 있음현실의 절차와 이벤트를 소프트웨어에 매핑하여 구조적이고 모듈화된 아키텍처를 구성할 수 있게 해줌Domain Events의 장점디커플링: 애플리케이션의 서로 다른 파트들이 독립적으로 이벤트 컨슘으로 통신함추적가능성과 감사: 애플리케이션에서 중요한 이벤트의 로그 역할을 함유연성과 확장성: 변경사항을 보다 쉽게 구현하고 다른 부분에 영향 없이 기존 기능을 수정할 수 있음 출처: https://dev.to/ben-witt/domain-events-2..
회사에서 관리중인 프로젝트가 크게 2가지가 있다. 하나는 스프링 부트 3.2까지 올려두었는데, 다른 프로젝트도 맞춰서 3.2까지 올려주려고 한다. 확인해보니 다른 스프링 부트 2.5.14 버전에 머물러 있어서, 3.2까지 올리기 위해 먼저 스프링 부트 2.7.18 및 자바 17로 버전업 하였다. 그 과정에서 해결했던 내용들을 정리하였다. 1. Java 17 & SpringBoot 2.7 버전업(자바 17 & 스프링부트 2.7 버전업)[ Java 17 & SpringBoot 2.7 버전업 ]LomboK 1.18.22 버전업자바 버전을 1.8에서 17으로 올림에 따라 자바 컴파일 시에 롬복에서 다음과 같은 문제가 발생하였다.자바 17과 호환되도록 롬복 버전을 1.18.22로 맞춰 올려주도록 하자.> ja..
1. 유용한 개발 관련 아티클 및 영상 #28스프링 톰캣 스레드 풀의 동작 방식과 Connector톰캣 스레드 풀의 동작 방시첫 작업이 들어오면, core size만큼의 스레드를 생성함유저 요청(Connection, Server socket에서 accept한 소캣 객체)이 들어올 때마다 작업 큐(queue)에 담아둠core size의 스레드 중, 유휴상태(idle)인 스레드가 있다면 작업 큐에서 작업을 꺼내 스레드에 작업을 할당하여 작업을 처리함만약 유휴상태인 스레드가 없다면, 작업은 작업 큐에서 대기함그 상태가 지속되어 작업 큐가 꽉 찬다면, 스레드를 새로 생성함3번과정을 반복하다, 스레드 최대 사이즈 에 도달하고 작업큐도 꽉 차게 되면, 추가 요청에 대해선 connection-refused 오류를 반..
1. 스프링 부트3.2에 추가된 유효성 검사 기능(MethodValidator) 파헤치기[ 스프링 부트3.2에 추가된 유효성 검사 기능 파헤치기 ]스프링 부트 2를 기준으로, 사용 가능한 유효성 검사 방법이 크게 2가지 종류가 있었다.컨트롤러에서 @Valid를 활용하기컨트롤러가 아닌 곳에서 @Validated + @Valid 활용하기 앞선 포스팅에서 자세히 살펴볼 수 있듯이, 컨트롤러에서 @Valid를 활용하면 ArgumentResolver를 활용하여 컨트롤러 객체로 넘겨줄 파라미터를 생성할 때 유효성 검사가 진행된다. 따라서 컨트롤러가 아닌 다른 계층에서는 추가적으로 클래스 선언에 @Validated를 추가해주어야 한다. 그러면 AOP가 적용되어 유효성 검사를 진행하게 된다.컨트롤러에서 @Valid를 ..