웹 개발/Spring
[Spring] 의존성 주입 - 생성자 주입 vs setter 주입
coding captain
2021. 11. 3. 13:12
방식 | 생성자 주입방식 | setter 메서드 주입방식 |
개념 | 생성자 인자값에 주입할 객체를 할당해 주입하는 방식 | setter 메서드로 의존객체를 지정하는 방식 |
특징 | -생성하는 시점에 모든 의존 객체가 주입된다 -한번 생성한 객체를 변경할 일이 없을때 주로 사용 |
setter 메서드로 의존하는 객체를 지정할 수 있음 |
장단점 | 한번 생성하고 나면 생성시점에 빈 객체가 필요로 하는 모든 의존 객체를 주입받는다. 파라미터가 많은 경우 의존 객체를 확인하는 작업이 간단하지 않다. |
XML 파일에서 <property> 태그의 name 속성을 통해 주입되는 의존객체 확인이 간단하다. XML 에서 지정한 <property> 태그가 빠져도 빈 객체가 생성되기에 특정 객체 사용시점에 NullPointerException 이 발생할 수 있음. |