jdbc정보 DI 패턴

Spring 2009. 10. 19. 11:50

spring-ibatis.xml
<!-- 데이터베이스연결을위한설정-->
 <bean id="propertyConfigurer" 
 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
 p:location="/WEB-INF/jdbc.properties" />
 
 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
         destroy-method="close">
 <property name="driverClassName" value="${jdbc.driverClassName}" />
 <property name="url" value="${jdbc.url}" />
 <property name="username" value="${jdbc.username}" />
 <property name="password" value="${jdbc.password}" />
 </bean>

<!-- iBATIS 데이터베이스계층을위한SqlMap 설정-->
 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
   <property name="dataSource" ref="dataSource"/>
   <property name="configLocation" value="/WEB-INF/SqlMapConfig.xml"/>
 </bean>

***** DI ******
 <bean id="actDao" class="career.dao.activity.ActivityDAO">
 <property name="sqlMapClient" ref="sqlMapClient" />
 </bean>

 <bean name="actService" class="career.service.ActivityService">
 <property name="actDao" ref="actDao" />
 </bean>

 <bean name="actAction" class="career.action.ActivityAction">
 <property name="actService" ref="actService" />
 </bean>

ActivityDAO클래스는 SqlMapClientDaoSupport클래스를 상속.
SqlMapClientDaoSupport클래스에 setSqlMapClient()가 정의되어 있다.
jdbc정보를 주입시킨 프로퍼티를 actDao객체가 가지고 있음.
ActService클래스에 setActDao를 선언. actDao객체를 참조.

 

AND