ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • @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
Designed by Tistory.