Struts2 + ibatis 구성시 내부 순서

Struts2 의 interceptor 를 이용하여 ibatis sql map를 연동시키는 방법에 대하여 고찰 해 보았다

1. struts2 의 struts.xml 파일을 읽어 들인다.

2. struts.xml 안에 들어있는 모듈들이 정의 되어있는 xml파일을 읽어들인다 (ex : struts-member.xml)
    struts2의 가장 큰 장점은 모듈별로 xml파일로 액션을 관리할 수 있다는 큰 장점이 있다

3. 모듈 xml파일에서 모듈 패키지를 설정한다
    (ex : struts-member.xml 파일은 패키지 member패키지로 관리한다)

4. 모듈 패키지에 interceptor 를 이용하여 ibatis 를 DI 시킨다.
   이때 인터페이스를 이용하여 DI 시킨다 이방법은 (Spring MVC 와 매우 비슷한 방법이다)
    (ex : memberibatisServiceAware 와 memberibatisServiceInterceptor 를 이용한다)

5. 인터페이와 구현부인 impl 을 이용하여 ibatis 설정 이 초기화 될 수 있도록 
    (ex : memberibatisServiceInterceptor 클래스 안의 init() 와  doIntercept()
            메소드를 이용하여 ibatisService 액션을 호출시킨다)
    (기존의 SpringMVC 와 가장 큰 차이점은 SpringMVC 에서는 인터페이스 의 구현부인
     memberibatisServiceInterceptor 에서 초기화 시켜줄 필요 없이 pojo 클래스 형태의 Service 액션을
     사용할 수 있으나  struts2 에서는 바로 pojo 클래스를 호출 하지 못한다)

6. pojo 클래스 형태로 구현된 Service 액션들은  MyAppSqlConfig 의 객체를 호출 시키고 사용한다
    여기서 MyAppSqlConfig 는 xml 형태로 구현되어있는 sqlmapper(sql 쿼리) 와 jdbc 설정 파일
    들을 읽어서 셋팅 시켜주는 역할을 한다

7. 보통 jdbc 셋팅은 SqlMapConfigExample.xml에서 지정해 주고 이 XML 파일안에는
    각 모듈에서 사용되는 SqlMapper (Sql 쿼리 문들을 import  시켜주는 역할을 한다.

8. SqlMapConfigExample 에 의하여 import 된 Sql 쿼리문들은
    ibatis 의 가장큰 장점인 중앙 집중형 쿼리 관리가 가능하게 내용이 구현되어 있다.


독백 : 내용이해를 돕기 위해 소스 확인해서 같이 이해할 것!!!

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by darkmirr | 2009/04/29 17:11 | FRAME WORK | 트랙백 | 덧글(0)

트랙백 주소 : http://darkmirr.egloos.com/tb/1387926
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶