[JAVA] @Autowired vs 생성자 주입 – 스프링 DI에서 가장 많이 묻는 질문
스프링 개발을 막 시작했거나, 실무 중 코드 리뷰를 하다 보면 @Autowired를 사용할지, 생성자 주입을 쓸지 고민하는 경우가 많습니다. 둘 다 의존성 주입(Dependency Injection)을 위한 방식이지만, 설계와 유지보수 측면에서 큰 차이가 있습니다.이 두 방식의 차이와 실제로 어떤 방식이 더 바람직한지, 실무에서 어떤 기준으로 선택해야 하는지를 정리해보겠습니다. 1. @Autowired 주입 방식@Autowired는 스프링이 지원하는 의존성 자동 주입 어노테이션입니다. 필드, 생성자, 세터 등 다양한 위치에 붙일 수 있고, Spring Container가 해당 타입의 빈을 찾아 주입해줍니다. 1-1. 필드 주입 (Field Injection)@Componentpublic class Ord..