2010. 8. 15. 18:01ㆍplming/Java - Spring
빈 설정 파일(저장소 관리 파일)에서 의존관계가 필요하다는 정보를 추가하기만 하면된다.
Spring 프레임워크는 각 클래스 사이의 의존관계를 관리하기 위한 방법으로 Setter Injection, Constructor Injection, Method Injection의 세 가지 유형으로 처리하고 있다.
- Setter Injection
클래스 사이의 의존관계를 연결시키기 위하여 setter 메소드를 이용하는 방법
import net.javajigi.user.dao.UserDAO; import org.springframework.beans.factory.InitializingBean; public class UserServiceImpl implements UserService, InitializingBean { public void setUserDAO(UserDAO newUserDAO) { |
applicationContext.xml <bean id="userService" class="net.javajigi.user.service.UserServiceImpl"> |
<property /> 엘리먼트 이름이 userDAO라면
UserServiceImpl 클래스의 setUserDAO() 메소드를 통하여 MySQLUserDAO 인스턴스를 전달하게 된다.
※ 빈 설정 파일(applicationContext.xml)은 org.springframework.beans.factory.xml.XmlBeanFactory에 의해 초기화되어 사용하는 것이 가능하다.
- Constructor Injection
생성자를 이용하여 의존관계를 연결시킨다
import net.javajigi.user.dao.UserDAO; import org.springframework.beans.factory.InitializingBean; public class UserServiceImpl implements UserService, InitializingBean { public UserServiceImpl(UserDAO newUserDAO) { |
applicationContext.xml <bean id="userService" class="net.javajigi.user.service.UserServiceImpl"> |
- Method Injection
Spring 프레임워크 1.1 버전에서 새롭게 지원
Spring 프레임워크는 Singleton 인스턴스와 Non Singleton 인스턴스의 의존관계를 연결시킬 필요가 있을 때 사용하므로, 사용하는 빈도수가 많지 않다.
[출처] Spring 프레임워크 워크북
'plming > Java - Spring' 카테고리의 다른 글
Spring - 초기화 및 빈의 생명주기 관리 (0) | 2010.08.15 |
---|---|
Spring - Log4J 설정 (0) | 2010.08.15 |
Spring IoC - DL (Dependency Lookup) (0) | 2010.08.15 |
Spring IoC (Inversion of Control) (0) | 2010.08.15 |
Spring Framework 설치 및 개발 환경 (0) | 2010.08.15 |