-
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