Spring 4

[Spring] Spring Data - MongoDB

개요Spring 프레임워크 생태계에서 MongoDB와 같은 NoSQL 데이터베이스를 사용하는 Java 애플리케이션 개발을 단순화하는 것은 매우 중요합니다. Spring Data MongoDB는 MongoDB 문서 스타일 데이터 저장소를 사용하는 솔루션 개발에 핵심 Spring 개념을 적용하여 이를 가능하게 합니다. 문서를 저장하고 쿼리하기 위한 높은 수준의 추상화인 "템플릿"을 제공하며, 이는 Spring 프레임워크의 JDBC 지원과 유사점을 가집니다.이 게시글에서는 Spring Data MongoDB 버전 4.4.4에 초점을 맞춰, 개발자가 이 강력한 프레임워크를 효과적으로 활용하는 데 필요한 모든 것을 다룹니다. 프로젝트 설정부터 시작하여 핵심 개념, 문서 매핑, 기본적인 CRUD 작업, 다양한 쿼리..

Spring 2025.04.18

[Spring] Spring Data - JPA

Spring Framework 생태계에서 데이터 접근 계층을 개발하는 것은 종종 반복적이고 상용구 코드가 많이 필요한 작업이었습니다. 하지만 Spring Data JPA는 이러한 과정을 혁신적으로 단순화하여 개발자가 비즈니스 로직에 더 집중할 수 있도록 돕습니다. 이 글에서는 Spring Data JPA 3.4.4 버전을 기준으로, 프로젝트 설정부터 엔티티 및 관계 매핑, CRUD 작업, 다양한 쿼리 방법, 그리고 페이징, 프로젝션, 감사, 트랜잭션 관리와 같은 고급 기능까지 포괄적으로 살펴보겠습니다.Spring Data JPA 소개: 목표와 핵심 개념Spring Data JPA는 Jakarta Persistence API (JPA) 사양 기반의 리포지토리를 쉽게 구현할 수 있도록 지원하는 Spring ..

Spring 2025.04.18

[Spring] Spring Data - JDBC

개요관계형 데이터베이스와의 상호작용은 많은 애플리케이션 개발의 핵심 요소입니다. Spring 프레임워크 생태계 내에서 개발자들은 주로 Spring Data JPA를 사용하여 객체-관계 매핑(ORM)의 편리함을 누려왔습니다. 하지만 모든 상황에 완전한 ORM 프레임워크가 필요한 것은 아닙니다. 때로는 더 단순하고, 예측 가능하며, SQL에 대한 직접적인 제어를 제공하는 솔루션이 더 적합할 수 있습니다. 바로 이 지점에서 Spring Data JDBC가 등장합니다. Spring Data JDBC는 Spring Data 프로젝트의 일부로, 도메인 주도 설계(Domain-Driven Design, DDD) 원칙에 맞춰 JDBC 기반 데이터 접근 솔루션을 개발하는 데 중점을 둡니다. 완전한 ORM 기능(캐싱, 지..

Spring 2025.04.17

[Spring] Annotation 기반 Bean 생명주기

서론: Spring 의 Ioc 컨테이너와 의존성 주입 (DI)Spring 프레임워크의 핵심 가치는 제어의 역전(Inversion of Control, IoC) 컨테이너와 의존성 주입(Dependency Injection, DI) 메커니즘에 있습니다. 이러한 개념은 최신 엔터프라이즈 애플리케이션 개발에서 느슨한 결합(Loose Coupling)과 높은 테스트 용이성을 달성하기 위한 기반을 제공합니다. 핵심 개념제어의 역전 (IoC): 전통적인 프로그래밍에서는 객체가 자신이 사용할 다른 객체를 직접 생성하거나 찾는 반면, IoC에서는 객체 생성, 생명주기 관리, 의존성 연결 등의 제어권이 개발자의 코드에서 외부 컨테이너(Spring IoC 컨테이너)로 이전됩니다. 이는 객체 간의 결합도를 낮추고 코드의 유연..

Spring 2025.04.17