[꼼꼼한 개발자] 꼼코더

[Spring, Spring Boot] - @Autowired과 생성자 주입 방식의 장단점 - 간단하고 쉽게 알아보기 본문

간단하고 쉽게/Spring, Spring Boot

[Spring, Spring Boot] - @Autowired과 생성자 주입 방식의 장단점 - 간단하고 쉽게 알아보기

꼼코더 2023. 4. 18. 10:52
반응형

😊 @Autowired의 장점

  • 코드를 간결하게 작성할 수 있다.
  • 코드 양이 줄어들어 가독성이 좋아진다.
  • 어노테이션을 사용하여 의존성 주입이 간편해진다

😂 @Autowired의 단점

  • 순환참조(circular dependency)가 발생할 가능성이 있다.
  • 어디서 어떤 의존성이 주입되는지 명확하게 파악하기 어렵다.(특히 테스트 시 더욱 부각되는 단점)

 

순환참조란? 간단하고 쉽게 이해하기 >  https://ccomccomhan.tistory.com/143


😊 생성자 주입의 장점

  • 순환참조(circular dependency) 방지 가능하다.
  • 코드의 명확성과 안정성이 높아진다.
  • 또한 컴파일 시점에 오류를 발견할 수 있어서 오류를 빠르게 수정할 수 있다.
  • 테스트 시점에서 의존성을 주입하기가 쉬워지기 때문에 테스트 코드 작성이 용이해진다.
  • 의존성이 명시적으로 드러나기 때문에 코드를 이해하기 쉽다.

😂 생성자 주입의 단점

  • 코드 양이 많아져서 가독성이 좋지 않을 수 있다.
  • 의존성이 많은 클래스의 경우 생성자 인자가 많아질 수 있다.

 

 

 

따라서, 어떤 방식을 선택할지는 개발자의 판단에 달려있다.

일반적으로는 생성자 주입 방식을 권장한다고 한다.

Comments