2009년 04월 29일
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 의 가장큰 장점인 중앙 집중형 쿼리 관리가 가능하게 내용이 구현되어 있다.
독백 : 내용이해를 돕기 위해 소스 확인해서 같이 이해할 것!!!
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 의 가장큰 장점인 중앙 집중형 쿼리 관리가 가능하게 내용이 구현되어 있다.
독백 : 내용이해를 돕기 위해 소스 확인해서 같이 이해할 것!!!
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- Struts2 내부구조 by darkmirr
- eclipse 에서의 struts 사용과 mapping 방법 by 자연
- struts와 ibatis 를 이용한 게시판 생성 by 자연
- [iBatis][스크랩]기본 설정 및 구조 by happy2ni
- strutsModule 실습 by 자연
# by | 2009/04/29 17:11 | FRAME WORK | 트랙백 | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]