Spring [핵심] 어노테이션 직접 만들기

신재원·2023년 1월 11일
1

Spring 핵심

목록 보기
16/19

어노테이션 직접 만들기

  • @Qulifier 이라는 어노테이션 클래스를 직접 만들어 사용할수있다.

    • 사용하는 방법은 Qulifier 사용하는 방법이랑 비슷하다.

    • 단점으로는 기능을 뚜렷한 목적없이 무분별하게 재정의 하는것은 유지보수에 더 혼란만 가중할수 있다.

조회한 빈이 모두 필요할 때, List, Map

  • List 와 Map으로 조회 할수있다.

  • List는 value값만 반환, Map은 key, value값 모두 반환해준다.

  • 하나의 인터페이스에 등록된 스프링 빈이 2개일경우 Map 으로 모든 스프링 빈을 주입받는다. ( @AutoWired 입력)

자동, 수동의 올바른 실무 운영 기준

  • 편리한 자동 기능을 "기본"으로 사용하자.

  • ""결정적으로 자동 빈 등록을 사용해도 OCP, DIP를 지킬수 있다"".

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

  1. 업무 로직 빈 : 비즈니스 요구사항을 개발 할때 추가되거나 변경된다.
  2. 기술 지원 빈 : 데이터 베이스 연결이나, 공통 관심사(AOP)를 처리할때사용
  • "컨트롤러, 서비스, 리포지토리 처럼 유사한 패턴이있는것은 "자동"으로한다."
  • 정리

    • 애플리케이션에 광범위하게 영향을 미치는 기술 지원 객체는 수동 빈으로 등록해서 딱 설정 정보에 바로 나타나게 하는것이 "유지보수" 하기 좋다.

    • 직접 등록하는 기술 지원 객체는 수동 등록

    • 다형성을 적극 활용하는 비즈니스 로직은 수동 등록을 "고민"해보자

0개의 댓글