ABOUT ME

Today
Yesterday
Total
  • TIL 29th day(2021.11.19)
    TIL(Today I Learned) 2021. 11. 19. 20:33

    다양한 의존관계 주입 방법

    • 생성자 주입(가장 선호하는 방식)

      • 한번만 호출하는 방식, '불변', '필수' 의존관계에 사용
      • 의존 클래스를 구분할 수 있다.
      • final 사용 가능
      • 필수 주입 데이터 '누락'을 "컴파일 오류"로 구분 가능하다.
    • 수정자 주입(setter 주입)

      • '선택', '변경' 가능성이 있는 의존관계에 사용
    • 필드 주입(참고, 필드 자체를 변경하지 않고 getXxx(), setXxx() 메서드를 통해 변경하는 java bean properties rules)

      • 안티 패턴(높은 결합도(OCP 위반), 단위테스트가 어렵다.)
    • 일반 메서드 주입

      • 한번에 여러 필드를 주입 받을 수 있다.(잘 쓰이지 않음)

    정리

    • 생성자 방식은 순수 자바 언어의 특징을 잘 살려준다.(프레임워크에 의존하지 않아도 된다.)
    • 기본으로 생성자 주입을 사용하고, 필수 값이 아닌 경우 수정자 주입을 사용한다.

    옵션 처리

    • 스프링 빈 등록이 안되어있어도 호출하고 싶을 때 사용.

    롬복

    • getter and setter, constructor 등을 Annotation으로 자동 생성
    • 중복 타입이 존재할 시 해결방법(3가지)
      • @AutoWired 필드 또는 파라미터명 매칭
      • @Qulifier 추가 구분자를 붙여주는 방법(귀찮아서 잘 안씀)(Primary는 자동설정이기 때문에 수동 설정인 Qulifier가 우선순위가 놓다)
      • @Primary는 우선권을 정하는 방법(간편해서 많이 씀)

    궁금한점 📌

    • implements와 extends의 차이점

      • extends는 상속 또는 abstract에 사용
      • implements는 "interface 구현체에" 사용
    • ToString의 역할

      • 객체의 정보를 반환해줌.

    'TIL(Today I Learned)' 카테고리의 다른 글

    TIL 31th day (2021.11.21)  (0) 2021.11.21
    TIL 30th day(2021.11.20)  (0) 2021.11.20
    TIL28(2021.11.18)  (0) 2021.11.18
    TIL 27 (2021.11.17)  (0) 2021.11.17
    TIL(2021.11.16)(26일차)  (0) 2021.11.16
Designed by Tistory.