참고 : Spring MVC 어플리케이션 개발 <5> MVC 컨트롤러 작성

먼저 앞에서 만들어 둔 컨트롤러를 기존의 WebApplicationContext[footnote]addressBook-sevlet.xml[/footnote]에 등록해준 Controller를 수정하여 등록합니다.

<!– Controller 등록 –>
    <bean name=”/index.do”
        class=”member.web.MemberListController”>
        <property name=”memberRepository” ref=”memberRepository” />
    </bean>

컨트롤러에서 사용한 memberRepository 변수를 IOC를 사용하여 연결 시키고 있습니다.

memberRespocitory 빈을 applicationContext.xml에 다음과 같이 등록 하고 WEB-INF/spring폴더를 만들고 그 안에 넣어둡니다.

    <bean id=”memberRepository” class=”net.webapp2.member.service.MemberRepositoryImpl”>
        <property name=”memberDao” ref=”memberDao” />
    </bean>
</beans>

위에서 사용하는 memberDao 빈은 daoContext-member.xml에 정의해 둡니다.

<bean id=”memberDao” class=”net.webapp2.member.dao.SqlmapMemberDao”>
        <property name=”sqlMapClient” ref=”sqlMapClient” />
    </bean>

그리고 여기서 사용하는 sqlMapClient는 daoContext.xml에 정의해 둡니다.

<bean id=”sqlMapClient”
        class=”org.springframework.orm.ibatis.SqlMapClientFactoryBean”>
        <property name=”configLocation”
            value=”WEB-INF/ibatis/sql-map-config.xml” />
        <property name=”dataSource” ref=”dataSource” />
    </bean>

iBATIS와 연동하는 부분이네요. iBATIS는 WEB-INF/ibatis폴더에 sql-map-config.xml을 만들어서 넣어 줍니다. 지금 까지 설정한 파일들의 대부분은 기존의 Spring MVC를 제외한 상태에서 만들었던 프로젝트에 있던 파일들입니다. 따라서 적당한 위치로 복사해 주면 될 것 같습니다.

지금까지 설정해준 설정 파일들은 web.xml에서 읽어 들이도록 다음과 같이 코딩을 합니다.

<!– Spring Context Config Location –>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/spring/daoContext-member.xml
            /WEB-INF/spring/applicationContext.xml
            /WEB-INF/spring/daoContext.xml
        </param-value>
    </context-param>

    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

bk74.bmp