분류 전체보기(359)
-
Persisting Entities
Spring Data JPA에서 엔티티를 저장하는 방법과, 엔티티의 상태를 감지하는 전략에 대해 설명합니다.Saving Entities (엔티티 저장)엔티티를 저장하는 방법은 CrudRepository.save(…) 메서드를 사용하는 것입니다. 이 메서드는 내부적으로 JPA의 EntityManager를 사용하여 주어진 엔티티를 저장하거나 병합합니다. 만약 엔티티가 아직 영속화되지 않은 상태라면, entityManager.persist(…)를 호출하여 저장하고, 이미 영속화된 엔티티라면 entityManager.merge(…)를 호출하여 병합합니다.Entity State-detection Strategies (엔티티 상태 감지 전략)Spring Data JPA는 엔티티가 새로운 것인지 아닌지 감지하는 몇 ..
2024.10.19 -
Configuration
Spring Data JPA를 설정하는 방법에는 두 가지가 있습니다:Annotation-based Configuration (Java configuration)Spring Namespace (XML configuration)여기서는 첫 번째인 Annotation-based Configuration을 설명합니다.Annotation-based Configuration (JavaConfig)Spring Data JPA 리포지토리 지원은 JavaConfig 또는 XML 네임스페이스를 사용하여 활성화할 수 있습니다. 아래는 JavaConfig를 사용하는 예시입니다:@Configuration@EnableJpaRepositories@EnableTransactionManagementclass ApplicationCon..
2024.10.19 -
Defining Repository Interfaces
Repository 인터페이스 정의하기먼저, 도메인 클래스에 특정한 Repository 인터페이스를 정의해야 합니다. 이 인터페이스는 반드시 Repository를 확장해야 하며, 도메인 클래스와 해당 도메인 클래스의 ID 타입으로 지정해야 합니다. 도메인 타입에 대해 CRUD(생성, 읽기, 업데이트, 삭제) 메서드를 노출하고 싶다면, CrudRepository 또는 그 변형 중 하나를 확장할 수 있습니다.Repository 정의 미세 조정Repository 인터페이스를 정의하는 몇 가지 방법이 있습니다.CrudRepository 확장가장 일반적인 방법은 CrudRepository를 확장하는 것입니다. 이 인터페이스를 사용하면 CRUD 작업을 위한 메서드를 사용할 수 있습니다. CRUD는 Create(생성..
2024.10.19 -
Core concepts
Repository 인터페이스중심 인터페이스: Spring Data 리포지토리 추상화의 중심 인터페이스는 Repository입니다. 이 인터페이스는 관리할 도메인 클래스와 도메인 클래스의 identifier 타입을 제네릭 타입 파라미터로 받습니다. 기본적으로 이 인터페이스는 마커 인터페이스로 사용되며, 작업할 타입을 캡처하고 이를 확장하는 인터페이스를 발견하는 데 도움을 줍니다.도메인 객체: Spring Data는 도메인 타입을 엔티티로 간주하며, 보다 구체적으로 집합체(aggregate)로 설명합니다. 따라서 문서 전반에 걸쳐 "엔티티"라는 용어가 사용되며, 이는 "도메인 타입"이나 "집합체"와 상호 교환할 수 있습니다.도메인 주도 설계(DDD): 도메인 객체는 DDD의 관점에서 정의됩니다. 도메인 객..
2024.10.19 -
Getting Started
시작하기프로젝트 생성:start.spring.io: Spring이 제공하는 웹 기반 인터페이스로, Spring Boot 프로젝트를 신속하게 생성할 수 있습니다. 종속성을 선택하고 프로젝트 메타데이터(그룹 ID, 아티팩트 ID 및 버전 등)를 입력한 후, ZIP 파일 형식으로 프로젝트 구조를 다운로드할 수 있습니다.Spring Tools: Eclipse, IntelliJ 등에서 사용할 수 있는 IDE 플러그인으로, Spring 프로젝트를 생성하고 관리하는 데 도움을 줍니다. 최소한의 노력으로 Spring Boot 애플리케이션을 구성할 수 있는 내장 마법사를 제공합니다.예제 리포지토리GitHub의 spring-data-examples 리포지토리는 Spring Data의 다양한 기능을 보여주는 샘플 애플리케이..
2024.10.19 -
Spring Boot Auto-Configuration
Spring Boot의 자동 구성(auto-configuration)은 매우 세밀하게 설계된 프로세스로, 애플리케이션이 시작될 때 필요한 다양한 설정을 자동으로 처리합니다. 이 과정을 단계별로 상세하게 설명하겠습니다. 각 클래스와 메커니즘이 어떻게 상호작용하는지를 살펴보며, 최종적으로 자동 구성이 어떻게 이루어지는지 깊이 이해할 수 있도록 하겠습니다.1. 애플리케이션 시작: @SpringBootApplication, @EnableAutoConfiguration, @AutoConfigurationPackageSpring Boot 애플리케이션이 시작될 때, 개발자는 일반적으로 @SpringBootApplication 애노테이션을 사용합니다. 이 애노테이션은 내부적으로 세 가지 중요한 애노테이션을 포함하고 있..
2024.10.18