반응형
세터 주입(Setter Injection)의 대안 - 생성자 주입(Constructor Injection)
세터 주입은 빈 특성을 설정하고 묶을 수 있는 직관적인 방법이지만, 한 가지 단점은
변경될 수 있는 모든 특성이 세터 메소드를 통해서 사용할 수 있다고 가정하는 것에 있다. 하지만 빈이 이와 같은 방식으로 작동하기를 원하지 않을 때,
이런 유형의 빈이 인스턴스화될 때에는 어떤 특성도 설정될 수 없으며, 따라서 빈이 유효하지 않은 상태로 있을 가능성이 있다.
어떤 특성들은 빈이 생성될 때 한 번만 설정되고 그 이후에는 변경될 수 없도록 만들고 싶은 경우도 있다.
이는 세터를 통해 모든 특성을 공개하는 경우에는 곤란해진다.
대안은 일부 특성들은 생성자 를 통해 설정될 수 있도록 빈을 설계하는 것이다.
DAO의 DataSource와 같이 반드시 설정돼야 하고 변경되어서는 안 되는 특성이 있는 경우에 특히 유용
생성자 주입은, 어떤 특성을 설정하지 않고서는 인스턴스를 만들 수 없을 때,
반응형
'backend > Spring' 카테고리의 다른 글
[Spring] 스프링에서 VelocityTools 환경설정 (2) | 2008.03.20 |
---|---|
[Spring] 스프링 MVC를 이용한 웹 요청 처리 (4) | 2008.03.13 |
[Spring] Bean과 BeanFactory의 후처리 (8) | 2008.02.12 |
[Spring] 자동 묶기(Autowire) (2) | 2008.02.12 |
[Spring] 빈 묶기(Bean wiring) (2) | 2008.02.05 |
[Spring] 스프링 컨테이너의 두 종류 (0) | 2008.02.05 |
[Spring] Spring 환경설정 (4) | 2008.01.28 |
[Spring] Hitting the database (8) | 2007.11.04 |