Framework/Spring\Spring boot

개요Spring 기반의 프로젝트를 살펴보면, Service와 ServiceImpl로 나누어진 구조를 자주 접하게 됩니다. 그런데 저는 개인 프로젝트나 팀 프로젝트를 진행할 때에는 별도로 ServiceImpl을 두지 않고 하나의 Service 클래스에서 비즈니스 로직을 구현하곤 했습니다. 하지만 실제 업무에서 코드를 분석하다 보니, 많은 프로젝트들이 Service와 ServiceImpl을 분리하는 방식을 택하고 있었습니다. 이 글에서는 왜 Service와 ServiceImpl을 분리하는지, 이러한 구조를 채택한 이유에 대해서 정리하고자 합니다.  분리하는 이유는❓1. 유지보수성Service는 인터페이스로 정의하고, ServiceImpl에서 실제 구현을 담당하는 방식은 결합도를 낮추고 변경에 유연하게 대응할..
개요Spring boot를 사용한 백엔드 개발을 하다보면 자연스럽게 JSON데이터를 객체로 매핑해야하는 경우가 있습니다. 이러한  Java 객체와 JSON 간의 변환 작업, 즉 '직렬화(Serialization)'와 '역직렬화(Deserialization)'는 매우 중요한 과정인데, 본 글에서는 이 과정을 효율적으로 처리하기 위한 강력한 도구인 ObjectMapper에 대해서 정리하고자 합니다.  직렬화 & 역직렬화란❓직렬화(Serialization) 직렬화는 객체의 상태를 바이트 스트림이나 다른 형식(JSON, XML 등)으로 변환하는 과정입니다. 이 과정을 통해 메모리에 존재하는 객체를 외부에서 사용할 수 있는 형태로 변환합니다. 주요 목적:네트워크를 통한 데이터 전송파일 시스템에 데이터 저장다른 시..
개요Spring Boot 애플리케이션에서 DTO(Data Transfer Object)와 Entity 간의 변환은 시스템 설계와 아키텍처에서 중요한 결정 사항 중 하나입니다.  DTO는 주로 클라이언트와의 데이터 교환을 목적으로 하고, Entity는 데이터베이스와 상호작용하는 도메인 객체로 사용됩니다. 이 두 가지 객체의 변환은 애플리케이션의 데이터 흐름에서 필수적인 과정이지만, 변환을 어디에서 수행할지에 따라 코드의 가독성, 유지보수성, 그리고 성능에 큰 영향을 미칩니다.  이 블로그 포스트에서는 DTO와 Entity 간 변환을 어느 Layer에서 수행하는 것이 가장 적절한지 살펴보겠습니다.  DTO를 사용하는 이유는❓Entity는 종종 민감한 정보나 불필요한 정보를 포함하고 있습니다. DTO를 사용하..
Spring Framework에서 제공하는 캐싱 기능은 애플리케이션의 성능을 극대화하는 중요한 도구입니다.  캐싱을 통해 불필요한 데이터베이스 쿼리나 복잡한 계산을 줄일 수 있으며, 이로 인해 시스템의 응답 시간이 크게 향상됩니다. 본 글은 Spring의 Cache Manager와 @Cacheable 어노테이션에 대해 공부한 내용을 정리한 글입니다. Cache Manager란❓Cache Manager는 Spring에서 캐시를 관리하는 핵심 컴포넌트입니다. 애플리케이션 전반에 걸쳐 캐시를 구성하고 관리하는 역할을 담당하며, 다양한 캐시 저장소를 지원합니다. CacheManager 인터페이스는 여러 캐시를 관리할 수 있는 기능을 제공하며, 각 캐시는 Cache 인터페이스로 표현됩니다.Cache Manager..
지누박
'Framework/Spring\Spring boot' 카테고리의 글 목록