들어가며
- 앞서 생성자를 통해 의존 관계를 주입 하는 방법에 대해 알아 보았습니다.
- 이러한 방법은 생성자를 사용 하기에 해당 class 가 생성 될 때 의존 관계가 주입 되고 그 후 변화 하지 않는다는 특성을 지닙니다.
- 하지만 프로그램을 짜다 보면 다른 형태가 필요 할 때도 존재 합니다.
4가지 방법
- 스프링 에서 의존관계를 주입 하는 방법에는 크게 4가지가 존재 합니다.
. 생성자 주입
. 수정자 주입
. 필드 주입
. 일반 메서드 주입
생성자 주입
- 지금까지 사용 하였던 방법입니다.
. class 의 생성자에 의존 관계 주입 코드를 넣어 객체가 생성됨과 동시에 의존 관계가 주입 됩니다.
. 따라서 단 한번만 주입이 실행 됩니다.
. 한번만 호출 되기에 불변의 측성을 가지며, final 로 선언 되므로 필수적으로 생성 됩니다.
수정자 주입
- 객체의 setter 를 사용하여 필드 값을 변환 하듯 의존관계를 주입 하는 방식 입니다.
- setter 를 사용 하기 때문에 원하는 시점에서의 의존관계 변경이 가능 합니다.
- 따라서 생성자 주입과는 반대로 선택적이며 변경이 가능 하게 됩니다.
필드 주입
- 생성자, 수정자와는 다르게 필드 즉, 변수를 생성 함과 동시에 의존관계를 주입 하는 방법 입니다.
- 간단히 아래와 같이 진행 하면 됩니다.
@Autowired
private Repository repository;
- 다만 필드에 직접 주입 하다 보니 외부 변경이 불가능 해 조작에 어려움이 있습니다.
일반 메서드 주입
- setter 와 비슷 하지만 일반 메서드를 사용하여 주입 합니다.
'백앤드 > SpringBoot + Java 스프링 기본' 카테고리의 다른 글
[SpringBoot + Java] 스프링 기본(Bean 의 생명주기 콜백) (0) | 2023.08.08 |
---|---|
[SpringBoot + Java] 스프링 기본(Autowired, Component) (0) | 2023.08.05 |