
애플리케이션은 각종 컨트롤러들이 함께 작동하면서 컨트롤러 간 공통 관심사(cross-cutting concerns)를 갖게 된다. 공통 관심사란 각각의 로직에 https://catsbi.oopy.io/9ed2ec2b-b8f3-43f7-99fa-32f69f059171

참고자료 : [AWS S3 버킷 정책에 DeleteObject를 허용해도 403 Access Denied 오류](https://growth-coder.tistory.com/118)

앞선 프로젝트 일지를 통해 @Valid 및 RuntimeException에 대해서 간략히나마 알아봤다.🧩 23.12.26. 유효성 검증 및 에러 핸들링 시작이제 실제 유효성 검증 코드와 이를 보기 좋게 확인하기 위한 응답 메시지를 출력하는 코드를 보이고자 한다.@Va

Request나 Response에 대한 VO, Entity와 분리하여 서비스와 컨트롤러 간에 데이터를 전달하기 위한 객체로 사용하는 DTO 등과 같은 객체들과 DB에 직접 접근하게 되는 Entity 간에 객체 형식을 용이하게 변환하기 위해 ModelMapper를 사용하

❗이 게시물은 김영한님의 인프런 강좌 \*\*스프링 핵심 원리 - 고급편(https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B3

❗이 게시물은 김영한님의 인프런 강좌 스프링 핵심 원리 - 고급편(https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B3%A0%

❗이 게시물은 김영한님의 인프런 강좌 스프링 핵심 원리 - 고급편의 내용을 개인 정리를 위한 목적으로 작성하였습니다. 지난 게시물 [Spring] 동시성 문제 해결을 위한 ThreadLocal을 통해 개발한 로그 추적기에 존재했

> ❗이 게시물은 김영한님의 인프런 강좌 스프링 핵심 원리 - 고급편의 내용을 개인 정리를 위한 목적으로 작성하였습니다. 지난 게시물 [Spring] 프록시 패턴과 데코레이터 패턴을 통해 프록시 패턴과 데코레이터 패턴에 대해서 알아봤다. 이러한 패턴을 활용한 프록시를

스프링을 시작하고 프로젝트의 구조를 갖춰가는 과정은 어느정도 정형적이어서 스프링에 대해 어느정도 잘 알고있는 것 같다는 착각을 심겨주기도 한다. 그런데 막상 IoC에 대해 설명해보라, 라고 누군가 물어온다면 이 또한 전형적인 답변으로밖에는 답하지 못할 것도 같다. 스프