본문 바로가기

spring

(4)
[Java, Spring] 리플렉션을 활용한 프록시 동적 생성 해당 게시물은 김영한 강사님의 스프링 핵심원리 고급편 을 학습 후 정리한 내용이다. 스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 탬플릿 메서드 패턴, 프록시 패턴을 통해 다음의 효과를 거두었다. 변하지 않는 부분의 추상화 변하는 부분에서 변하는 부분의 분리 프록시 패턴의 문제점은 100개의 클래스 > 100개의 프록시라는 개발 공수의 증가였다. 사실 프록시 로직은 거의 유사한데, 변하는 부분만 동적으로 생성하면 프록시가 하나만 있으면 되지 않을까? 호출하는 메서드인 target.callA() , target.callB() 이 부분만 동적으로 처리할 수..
[Java, Spring] 프록시, 프록시 패턴, 데코레이터 패턴 해당 게시물은 김영한 강사님의 스프링 핵심원리 고급편 을 학습 후 정리한 내용이다. 스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 탬플릿 메서드 패턴 : 변하지 않는 로직(부가 기능)과 변하는 로직(핵심 기능)의 분리 템플릿 메서드 디자인 패턴의 목적은 다음과 같습니다. "작업에서 알고리즘의 골격을 정의하고 일부 단계를 하위 클래스로 연기합니다. 템플릿 메서드를 사용하면 하위 클래스가 알고리즘의 구조를 변경하지 않고도 알고리즘의 특정 단계를 재정의할 수 있습니다. [GOF] 프로그래밍에서 콜백(callback) 또는 콜애프터 함수(call-after f..
[Java, Spring] 쓰레드 로컬과 전략 패턴, 탬플릿 메서드 패턴 해당 게시물은 김영한 강사님의 스프링 핵심원리 고급편 을 학습 후 정리한 내용이다. 스프링 핵심 원리 - 고급편 - 인프런 | 강의 스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 부가 기능 적용하기 보통 디버깅(에러 혹은 비즈니스 흐름 분석)을 위해 로깅을 적용하는 것은 당연하다. 아래와 같은 요구 사항을 구현한다고 가정해보자. 모든 PUBLIC 메서드의 호출과 응답 정보를 로그로 출력 애플리케이션의 비즈니스 흐름을 변경하면 안됨 로그를 남긴다고 해서 비즈니스 로직의 동작에 영향을 주면 안됨 메서드 호출에 걸린 시간을 기록함 정상 흐름과 예외 흐름을 구분함 예외 발생시 예외 정보가 남아야 함 메서드 ..
[Spring MVC] HTTP 메시지 컨버터(JSON<=>Object) 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 대시보드 - 인프런 | 강의 (inflearn.com) 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원 www.inflearn.com HTTP API처럼 JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우 HTTP 메시지 컨버터를 사용하면 편리하다. 서블릿 처리 살펴보기 ResponseBody를 사용 HTTP의 BODY에 문자 내용을 직접 반환 viewResolver 대신에 HttpMessageConverter 가 동작 기본 문..