스프링강의

생성자 주입의 장점

lby132 2022. 6. 12. 22:18

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