본문 바로가기
Backend - Java Spring/Spring Core

[SpringCore 핵심원리] List, Map

by VictorMeredith 2024. 2. 17.

1. 여러개의 빈이 모두 필요할 때 List, Map 을 이용한 DI 방법

- 알아서 주입을 받아서 Strategy Pattern 을 구현할 수 있다.

- 동적으로 빈을 선택해야할 경우 이렇게 다형성 코드를 유지하면서 사용이 가능하다.

discount메서드에서 discountCode를 받는다

 

- 직접 테스트를 해보면

통과

 

2. 자동DI 와 수동DI의 실무 운영 기준

- 자동기능 기본으로 쓰셈

- 수동 빈 등록은 언제 사용하면 좋을까 ? 

  : 기술지원 빈 (AOP) 을 처리할 때 주로 사용된다. DB연결이나 공통 로그처리 등 하부 기술이나 공통기술 같은 것

  : 업무로직에서 애너테이션을 가끔 수정할 때가 있기는 한데, 기본적으로 자동기능 쓰세요

  : 기술지원 로직들은 수동 빈 등록을 사용해서 명확하게 설정에 드러내는 것이 좋다.

  : 비즈니스 로직 중에서 다형성을 적극 활용할 경우 수동 빈으로 등록하거나 특정 패키지에 같이 묶어두는 것이 좋다. 한번에 보고 파악이 되어야 한다.

  : 단, 스프링과 스프링부트가 자동으로 등록하는 많은 빈들은 그냥 갖다 쓰자.

 

댓글