1. 불변
- 대부분의 의존관계 주입은 한번 일어나면 애플리케이션이 종료 될때까지 변경할 일이 없다. 그리고 변경 되어서도 안된다.
생성자 주입은 객체를 생성할때 딱 1번만 호출되므로 이후에 호출될 일이 없다 그래서 불변하게 설계가 가능하다.
하지만 수정자 주입을 사용하면 setXxx메서드로 열어 놔야하기 때문에 누군가로 인해 변경이 일어날 수 있기 때문에 좋은 설계 방식이 이다.
2. 누락
- 테스트 코드를 작성시 객체를 생성해서 테스트를 할때 생성자 주입이면 필요한 파라미터를 명시적으로 알 수 있고 넣지 않으면 컴파일 오류가 발생하기 때문에 깜빡하고 파라미터를 넣지 않고 런타임 에러를 맞을일이 없다.
3. final 키워드
- 생성자 주입은 final 키워드를 사용할 수 있다. 이걸 사용함으로써 생성자에 깜빡하고 필요한 의존관계들을 넣지 않게 될 일이 없다.
이것 또한 넣지 않을 시 컴파일 에러가 발생하기 때문이다.
'스프링강의' 카테고리의 다른 글
getParameterNames와 getParameterValues (0) | 2022.06.20 |
---|---|
MultiValueMap (0) | 2022.06.14 |
InputStream (0) | 2022.05.31 |
의존관계 주입 (0) | 2022.05.28 |
프레임워크와 라이브러리의 차이 (0) | 2022.05.10 |