본문 바로가기

SpringBoot

(2)
[Spring] Filter, Interceptor 그리고 AOP 개요프로그램을 개발할 때 공통적인 기능(예: 로깅, 인증, 트랜잭션 관리)을 분리하여 코드의 유지보수성을 높이는 개념이관심사 분리(Separation of Concerns, SoC)입니다. 예를 들어, 로그를 출력하기 위해 객체의 메소드 내부에 직접 로깅 코드를 추가할 수 있지만,이 방식은 모든 객체에서 중복된 로직을 반복적으로 작성해야 하는 문제가 있습니다. 또한, 세션 관리, 트랜잭션 처리, 인증/인가(Authorization) 체크 등 다양한 공통 기능도 동일한 문제를 가지며,이러한 코드가 객체 내부에 쌓이면 핵심 비즈니스 로직보다 보일러 플레이트 코드가 많아지는 문제가 발생합니다. 이를 해결하기 위해 Spring에서는 Filter, Interceptor, AOP를 통해 관심사를 분리할 수 있도록 ..
[Spring] DTO와 VO 개요 프로그래밍을 하다 보면 데이터를 전달하고 표현해야 한다는 사실에 의문을 가지는 사람을 없을 것입니다.그렇다면 어떻게(how)라는 방법이 중요한 문제라 생각합니다. 본 페이지에서는 Spring Boot를 공부하면서 DTO와 VO를 활용해 데이터를 전달하고 표현하는 방식에 대해 설명합니다.내용1. DTO (Data Transfer Object)DTO는 Controller, Service, View 간 데이터를 주고받는 용도로 사용합니다.오로지 데이터를 저장하고 전달하는 역할에 집중하기 위해 로직을 포함하지 않습니다. (getter와 setter만을 가집니다.)일반적으로 식별자나 특정 속성에 의해 두 객체가 동일하다 판단합니다. 예시// data class로 선언함으로써 getter와 setter 자동 ..