본문 바로가기
BackEnd/Spring

@Autowired

by 해학 2024. 12. 13.
728x90

앞서 작성한 테스트 코드를 보면 questionRepository 변수는 선언만 되어 있고 그 값이 비어 있다. 하지만 @Autowired 애너테이션을 해당 변수에 적용하면 스프링 부트가 questionRepository 객체를 자동으로 만들어 주입한다. 객체를 주입하는 방식에는 @Autowired 애너테이션을 사용하는 것 외에 Setter 메서드 또는 생성자를 사용하는 방식이 있다. 순환 참조 문제와 같은 이유로 개발 시 @Autowired보다는 생성자를 통한 객체 주입 방식을 권장한다. 하지만 테스트 코드의 경우 JUnit이 생성자를 통한 객체 주입을 지원하지 않으므로 테스트 코드 작성 시에만 @Autowired를 사용하고 실제 코드 작성 시에는 생성자를 통한 객체 주입 방식을 사용해 보자.

728x90

'BackEnd > Spring' 카테고리의 다른 글

jpa sql  (0) 2024.12.16
application.properties  (0) 2024.12.16
casecade  (2) 2024.12.13
애너테이션  (1) 2024.12.13
pring.jpa.hibernate.ddl-auto  (0) 2024.12.13