[스프링 핵심 원리 - 기본편] 의존관계 자동 주입
·
Back-End/Spring
[작성일: 2023. 08. 13] 다양한 의존관계 주입 방법 의존관계 주입에는 크게 생성자 주입, setter 주입, 필드 주입, 일만 메서드 주입 등이 있다. 생성자 주입 생성자 주입은 생성자 호출 시에 딱 1번만 호출되는 것이 보장되며 불변, 필수 의존관계에 사용된다. 생성자가 1개만 있으면 @Autowired를 생략 할 수 있다.(스프링 빈에만 해당) @Componentpublic class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderSe..
[스프링 입문] 스프링 빈과 의존관계(2)
·
Back-End/Spring
[작성일: 2023. 05. 15] 컴포넌트 스캔과 자동 의존관계 설정자바 코드로 직접 스프링 빈 등록하기회원 서비스와 회원 리포지토리의 @Service, @Repository, @Autowired 애노테이션을 제거하고 진행해야 한다.XML로 설정하는 방식도 있지만 최근에는 잘 사용하지 않는다.DI에는 필드 주입, setter 주입, 생성자 주입이 있다.의존관계가 실행중에 동적(런타임 중에 바뀌는 것)으로 변하는 경우는 거의(아마도 99%) 없으므로 생성자 주입을 권장한다.setter 주입은 누구나 호출할 수 있게 열리기 때문에 권장하지 않는다.실무에서는 주로 정형화(일반적인) 된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔을 사용한다.정형화 되지 않거나 상황에 따라 구현 클래스를 변경해야 ..