본문 바로가기

전체 글181

2024.08.08 (목) { DI&DL, 빈, TDT, 단위테스트(JUnit5), ASSERT, Test Fixture } IoC의 분류DL(Dependency Lookup) 과 DI (Dependency Injection)DL : 저장소에 저장되어 있는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을 Lockup하는 것DI : 각 클래스간의 의존관계를 빈 설정(Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것Setter Injection (수정자 주입)Constructor Injection (생성자 주입)Method Injection (필드 주입) 스프링 컨테이너 (= IoC 컨테이너)의 종류스프링 컨테이너가 관리하는 객체를 빈(Bean)이라고 하고, 이 빈들을 관리한다는 의미로 컨테이너를 빈 팩토리(BeanFactory) 라고 부릅니다.객체의 생성과 객체 사이의 런타.. 2024. 8. 8.
JPA(Java Persistence API) JPA(Java Persistence API)는 자바 애플리케이션에서 데이터베이스와 상호작용하는 방식을 표준화한 API입니다. JPA를 사용하면 자바 객체를 데이터베이스의 테이블과 매핑하여, 객체 지향 프로그래밍 방식으로 데이터를 다룰 수 있습니다. 이를 통해 SQL 쿼리를 직접 작성하는 번거로움 없이, 자바 코드로 데이터베이스 작업을 수행할 수 있습니다.90퍼가 인터페이스로이루어진 JPAJPA (Java Persistence API)JPA는 자바 객체와 관계형 데이터베이스 간의 매핑을 정의하는 표준 API입니다. JPA는 인터페이스로 이루어져 있으며, 구현체는 없습니다. 대신, JPA를 구현하는 여러 프레임워크가 있으며, 이 중 가장 널리 사용되는 것이 Hibernate입니다.JPA의 주요 인터페이스E.. 2024. 8. 8.
#25 Lesson: Introduction to Collections 1 [공식 튜토리얼] collection(때때로 컨테이너라고도 함)은 단순히 여러 엘리먼트들을 단일 단위로 그룹화하는 객체입니다. Collections은 Aggregate 데이터를 저장, 검색, 조작 및 전달하는 데 사용됩니다. 일반적으로 포커 핸드(카드 모음), 메일 폴더(편지 모음) 또는 전화번호부(이름과 전화번호 매핑)와 같이 자연스러운 그룹을 형성하는 데이터 아이템들을 나타냅니다. Java 프로그래밍 언어 또는 다른 프로그래밍 언어를 사용해 본 적이 있다면 이미 collections에 익숙할 것입니다. What Is a Collections Framework?컬렉션 프레임워크는 컬렉션을 표현하고 조작하기 위한 통합 아키텍처입니다. 모든 컬렉션 프레임워크에는 다음이 포함됩니다.Interfaces: 컬렉.. 2024. 8. 8.
Dependency Injection (DI : 의존성주입) 의존성 주입(Dependency Injection, DI)은 객체 지향 프로그래밍에서 객체의 의존성을 외부에서 주입받는 방식입니다. 이를 통해 코드의 유연성과 재사용성을 높일 수 있습니다. DI를 구현하는 세 가지 주요 방법은 생성자 주입(Constructor Injection), 메서드 주입(Method Injection), 필드 주입(Field Injection)입니다.세 가지 주요 DI 방법생성자 주입(Constructor Injection):의존성을 생성자 매개변수로 전달받아 주입합니다.의존성이 반드시 필요할 때 사용하며, 주입받는 의존성이 변경되지 않도록 보장합니다.메서드 주입(Method Injection):의존성을 메서드 매개변수로 전달받아 주입합니다.주로 설정 메서드를 통해 선택적인 의존성.. 2024. 8. 7.
스프링 IoC(Inversion of Control) 컨테이너 스프링 IoC(Inversion of Control) 컨테이너는 의존성 주입(Dependency Injection, DI)을 통해 객체의 생성, 구성, 그리고 관리하는 역할을 담당합니다. 이는 주로 애플리케이션 컴포넌트 간의 결합도를 낮추고, 코드의 유연성과 테스트 용이성을 높이기 위해 사용됩니다. 스프링 IoC 컨테이너가 하는 주요 역할은 다음과 같습니다:1. 객체 생성 및 관리스프링 IoC 컨테이너는 애플리케이션에서 필요한 객체(빈)를 생성하고, 그 생명주기를 관리합니다. 빈은 주로 XML, 애너테이션, 또는 자바 구성 클래스를 통해 정의됩니다.2. 의존성 주입IoC 컨테이너는 객체 간의 의존성을 설정합니다. 이는 주로 생성자 주입(Constructor Injection), 세터 주입(Setter I.. 2024. 8. 7.
JUnit 단위 테스트 라이프사이클 JUnit 단위 테스트의 라이프사이클은 테스트 메서드가 실행되기 전후에 수행되는 여러 단계로 구성됩니다. JUnit 5를 기준으로 단위 테스트의 라이프사이클을 설명하겠습니다. JUnit 5는 이전 버전인 JUnit 4와 비교하여 더 많은 기능과 유연성을 제공합니다.JUnit 단위 테스트 라이프사이클테스트 클래스 초기화 (@BeforeAll)각 테스트 메서드 실행 전 초기화 (@BeforeEach)테스트 메서드 실행 (@Test)각 테스트 메서드 실행 후 정리 (@AfterEach)테스트 클래스 종료 (@AfterAll)이러한 라이프사이클 메서드는 테스트 클래스 및 메서드의 실행 순서와 상태 관리를 돕습니다.어노테이션 설명@BeforeAll: 모든 테스트 메서드가 실행되기 전에 한 번 실행됩니다. 이 메서.. 2024. 8. 7.