-
@Autowired를 쓰고 안 쓰고의 차이!Spring/spring 2023. 6. 20. 20:14
★ 글을 쓰게 된 동기 (기억할 수 있다고 생각했지만 계속 까먹어 기록을 하기로 결정!)
@Autowired를 쓰고 안 쓰고의 차이가 무엇이지라는 의문이 들었다.
★ 차이를 알아보자!
생성자에서 의존성 주입을 받을 때 예를 들어
public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; }
이런 코드가 존재할 때 다른 곳에서 MemberRepository와 DiscountPolicy를 주입받고 있다고 생각했다.
★ 하지만!
실상은 그렇지 않았다. @Autowired를 붙이지 않으면 개발자가 수동으로 MemberRepository 타입의 객체와 DiscountPolicy의 객체를 주입해줘야 한다. 이걸 하기 위해서는 개발자는 @Configuration이 붙은 클래스를 하나 생성해 프로젝트의 구성을 하나하나 수동으로 설정해줘야 한다. 하지만 붙인다면!! 따로 구성 클래스를 만들 필요가 없이 클래스 레벨에 @Component를 붙여 빈으로 등록하고 스프링이 스프링 컨테이너에 등록된 빈중 같은 타입의 객체를 자동으로 주입한다.
★ 같은 타입의 빈이 여러개라면?
이것은 다음에 알아보도록 하자
'Spring > spring' 카테고리의 다른 글
mongoDB란 뭘까용?_간단 요약! (0) 2023.08.03 spring과 spring boot의 다른 점 (0) 2023.05.02