Java&Spring

Autowired와 private final의 차이

hjkang 2023. 4. 19. 14:02

스프링 환경에서 개발하다보면, @Autowired 또는 private final을 사용해서 의존성을 주입한다.

둘의 차이점을 알아보자!

 

@Autowired

- 필드 주입(Field Injection)

- 자동으로 의존성 주입

 

 

private final

- 생성자 주입(Constructor Injection)

 

 

추천하는 방법과 이유는?

- private final를 추천

- 순환 참조 방지

- 테스트 용이

- 불변성 보장