3.2.2 @Autowired를 사용하여 생성자로 값 주입
스프링이 빈을 생성할 때 객체의 속성에 값을 주입하는 두 번째 방법은 인스턴스를 정의하는 클래스의 생성자를 사용하는 것이다(그림 3-10). 이 방법은 프로덕션 코드에서 가장 자주 이용되는 방식이며 필자가 권장하는 것이기도 하다. 이 방법을 이용하면 필드를 final로 정의할 수 있어 스프링이 필드를 초기화한 후에는 아무도 필드 값을 변경할 수 없다. 생성자를 호출할 때 값을 설정할 수 있다는 점은 스프링이 여러분을 대신하여 필드를 주입하는 방식에 의존하지 않는 특정 단위 테스트를 작성할 때도 도움이 된다(이 주제는 나중에 자세히 설명한다).