분류 전체보기30 의존성 주입 관리 기법들의 조합 소개 @Primary와 @Qualifier 조합 근거 대부분의 경우에 대한 기본 구현체를 제공하면서, 특정 상황에서 다른 구현체를 선택할 수 있는 유연성을 제공한다. 가정 대부분의 상황에서는 DefaultClaimProcessor를 사용하지만, 특별한 경우에 ExpeditedClaimProcessor를 사용해야 한다고 가정한다. 제한 사항 @Primary로 지정된 빈은 대부분의 사용 사례에 적합해야 한다. 추천 사용법 @Primary를 사용해 기본 구현체를 제공하고, 특정 케이스에서 @Qualifier를 사용해 명시적으로 다른 구현체를 주입한다. 예를 들어, 대부분의 클레임은 표준 방식으로 처리하지만, 긴급 클레임은 별도의 처리기를 사용해야 할 경우 이 방식이 유용하다. 예시 @Service @Primary .. Spring Framework/의존성 주입(Dependency Injection) 2023. 11. 10. 의존성 주입 관리 기법들 소개 @Primary 장점 기본 빈을 쉽게 설정할 수 있다. 특별한 지정 없이도 해당 빈이 자동으로 주입된다. 단점 하나의 기본 빈만 설정할 수 있다. 다양한 상황에서 다른 빈을 주입하고 싶을 때 유연성이 떨어진다. 추천 사용법 대부분의 경우에 적합한 기본 처리기가 있고, 예외적인 상황만 다른 처리기를 사용하고자 할 때 사용한다. 엣지 케이스 여러 구현체 중 하나를 기본값으로 설정했지만, 특정 케이스에서 다른 구현체를 사용해야 할 때 문제가 될 수 있다. @Qualifier 장점 특정 빈을 명시적으로 지정할 수 있다. 의존성 주입에서의 명확성과 제어가 가능하다. 단점 빈의 이름을 문자열로 지정해야 하기 때문에, 리팩토링 시 오류를 일으킬 수 있는 가능성이 있다. 추천 사용법 특정 상황에서 특정 구현체를 사용해.. Spring Framework/의존성 주입(Dependency Injection) 2023. 11. 10. 고차 함수(higher-order functions) 고차 함수란? 고차 함수는 다른 함수를 인자로 가져오거나 함수를 결과로 반환하는 함수입니다. 이는 모듈화 되고 재사용 가능하며 유연한 코드를 도와주는 Kotlin의 강력한 기능입니다. 고차 함수를 사용하여 광범위한 데이터 유형 및 작업에 적용할 수 있는 매핑, 필터링 및 컬렉션 폴딩과 같은 추상화를 만들 수 있습니다. 또한 특정 작업이나 문제 영역에 대해 보다 자연스러운 구문을 제공하는 영역별 언어를 만드는 데 사용할 수도 있습니다. 고차 함수를 사용하는 이유 재사용성 다른 함수를 매개변수로 사용하면 고차 함수를 코드베이스의 다른 부분에서 더 쉽게 재사용할 수 있습니다. 이렇게 하면 작성하고 유지 관리해야 하는 코드의 양이 줄어들어 시간과 노력을 절약할 수 있습니다. 모듈성 고차 함수를 사용해서 복잡한 .. Kotlin 2023. 2. 17. 코루틴 코루틴의 동작 원리에 대해서는 우선 패스합니다. 참고로 코루틴은 코틀린에 종속적인 문법이 아닙니다. 코루틴이란? 코루틴은 비동기적인 프로그래밍을 지원하는 기능입니다. 가벼우면서도 효율적인 쓰레드 처리 방식을 제공합니다. 코루틴은 일종의 가상 쓰레드로, 코드 블록의 실행을 일시 중지하거나 재개할 수 있는 방법을 제공합니다. 이를 통해 코드 실행 흐름을 제어하며, 더욱 효율적으로 비동기 처리를 수행할 수 있습니다. Kotlin에서 코루틴을 사용하려면, 코루틴을 시작하고 관리하는 Coroutine builder 함수를 사용합니다. Couroutine builder 함수의 예를 들면, launch 함수 : 백그라운드에서 코루틴을 시작합니다. async 함수 : 결과 값을 반환하는 코루틴을 시작합니다. 특징적인 .. Kotlin 2023. 2. 16. @EventListener @EventListener란 Kotlin에서 @EventListener 애노테이션은 메서드를 이벤트 핸들러로 지정하기 위해 Spring Framework와 함께 사용됩니다. (해당 메서드를 포함하는 클래스를 bean으로 등록하여) @EventListener 애노테이션이 달린 메서드는 특정 이벤트가 publish 될 때, 자동으로 호출됩니다. @EventListener를 사용하는 이유 Spring Framework에서 @EventListener 애노테이션은 애플리케이션 이벤트에 대한 응답으로 호출할 메서드를 등록하는 방법입니다. 애플리케이션 이벤트는 어떤 일이 발생했음을, 관심 있는 그룹에 알리기 위해 애플리케이션 컨텍스트에서 게시하는 메시지입니다. 이러한 이벤트는 애플리케이션 자체 또는 메시지 큐, 데이.. Kotlin 2023. 2. 14. 포스팅 계획 DDD + Event Storming BFF Hexagonal Architecture Restful API liquibase CQRS QueryDSL TDD PostgreSQL Kotlin Docker K8s 블로그 계획 2023. 1. 22. 고시원에 들어왔다. 이사를 하려는데 집 완공이 덜돼서 한 달 고시원에 살게 됐다. 와 이거 하루하루 전투가 될 것 같은데? 일상생활잡담 2023. 1. 7. JPA 소개 - SQL 중심적인 개발의 문제점 JPA 소개 SQL 중심적인 개발의 문제점 에 대해 다룹니다. SQL 중심적인 개발의 문제점 개발하며 데이터베이스와 통신하기 위해 개발자는 많은 SQL문을 작성해야 합니다. 각각의 통신마다 목적에 맞는 SQL문을 작성해야 합니다. 이렇게 많은 SQL문을 작성하게 되면 불편한 점이 하나 둘 씩 수면위에 떠오르게 됩니다. SQL 중신적인 개발의 문제점에 대해 알아봅시다. CRUD 작성이 반복되고 개발자는 피로합니다. CRUD에 대해 알아봅시다. CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사.. Spring Data/JPA 2023. 1. 3. 이전 1 2 3 4 다음
마지막 글이라면 이전 글들을 추천 드립니다 💕