공부/Spring4 예외와 응답 원리에 대한 글은 아니고 기억 차원에서 스프링 MVC로 웹 개발을 하며 경험한 컨벤션을 간략히 기록하고자 한다. ---컨트롤러의 응답[1] 형식은 두 가지로 나뉜다. ResponseBody 혹은 ResponseEntity를 사용하는 방법이다. 단 후자의 경우가 HTTP 상태코드, 헤더를 세팅하기 수월해서 정상 응답 외 예외 발생의 경우에도 장점을 가진다고 생각한다. 단 예외 처리의 경우에는 정상 응답처럼[2] 컨트롤러에서 응답을 생성해주지 않고, 예외 처리 핸들링 클래스(@RestControllerAdvice)를 따로 작성해 스프링부트 애플리케이션에서 전역적으로 발생하는 예외를 처리해준다. 다만, 신규 구축의 경우가 아니어서인진 몰라도 컨트롤러에서 정상 응답 및 예외 발생 시 응답에 대해서도 모두 작성해.. 2025. 4. 12. 분기문 제거 좋은 글을 읽고, 기억하기 위한 용도로 남긴다. --- 지금까지 SI, SM을 하며 한 메소드 내 수백, 많게는 수천줄의 코드는 일상적이었다. 이런 코드는 수많은 분기문이 있었고 파악하기 쉽지 않았다. 자바 언어의 객체 지향을 활용한 디자인 패턴들이 적용된 깔끔한(?) 코드는 보기가 어려웠다. 그러던 중 최근에 참여했던 이커머스 프로젝트에서 팩토리 패턴[1]이 적용된 걸 봤다. 구체적인 로직은 기억이 안 나는데, 인입 채널에 따른 고객정보 생성/변경 정도였던 것 같다. 화면에서부터 개략적인 흐름을 적어보자면, // Controller 메소드 내private final AFactory aFactory;private final AService aService;Abstract abstract = aFacto.. 2025. 4. 10. 템플릿 콜백 패턴 토비의 스프링을 보다가 템플릿/콜백 패턴을 접하게 되었습니다. 책에서는 이에 대해 다음과 같이 정의합니다. 조금 복잡해보이지만 메소드 레벨에서 일어나는 DI다. 왜냐하면 클라이언트가 템플릿 메소드를 호출하면서 콜백 오브젝트를 전달하는 것이기 때문이다. DI, 템플릿 메소드, 콜백 오브젝트 등 여러 용어가 등장해 복잡해 보입니다. 이를 이해하기 위해 아래 내용[1]을 짚고 넘어가고자 합니다. 1. 전략 패턴 2. 템플릿 메소드 패턴 3. 템플릿 콜백 패턴 혹시 내용에 틀린 부분이나 피드백이 있다면 댓글로 남겨주시면 감사하겠습니다. _____ 전략 패턴 전략 패턴(Strategy Pattern)은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 아래 클래스 다이어그램을 살펴보자. Context(문맥) .. 2021. 6. 21. 스프링 핵심 원리 - 기본편 출근길에 우아한테크콘서트에서 김영한님이 발표하신 배달의민족 마이크로서비스 여행기를 보게 되었습니다. 말씀을 너무 쉽고 담백하게 하셔서 검색하던 중 인프런에 있는 스프링 강의를 보게 되었습니다. 이 글은 강의 홍보나 강의에 대한 요약이 목적은 아니고 이정표 느낌으로 강좌에 대한 제 느낌을 조금 적어보려고 합니다. _____ 일을 하며 자바, 스프링을 사용하고 있지만 이를 잘 쓰고 있는가에 대한 고민, 걱정을 항상 안고 있었다. 하지만 개념서를 보더라도 개념을 코드에 적용하는 게 쉽지 않을 뿐더러 맞게 이해하고 있는 것인지 확인하기도 힘들었다. 김영한님의 스프링 핵심 원리(기본편)은 아래와 같은 이유로 이러한 점을 해소해줄 수 있는 강의가 아닌가 한다. 스프링이 도입되게 된 배경을 설명한다. EBJ에 어떤 .. 2021. 1. 18. 이전 1 다음