'무슨 설정이 이렇게 많어?'이다.
xml 지옥을 몸소 체험하는 느낌이랄까.
하지만 사실 알고보면 그냥 좀 많을 뿐. 그렇게 복잡한 것은 아니다.
샘플 프로젝트인 jpetstore(samples 밑에 있다)를 기준으로 상콤하게 정리해보자.
크게 설정할 부분은 6개이다.
- web.xml 설정
- 프로퍼티 파일 설정 (jdbc.properties, log4j.properties, mail.properties)
- applicationContext.xml 설정
- petstore-servlet.xml 설정
- ibatis의 dataAccessContext.xml 설정
- ibatis의 sql-map-config.xml 설정
자 그럼 하나씩 더 자세히 살펴보자.
1. web.xml 설정
- 웹루트 키 정의 => log4j.properties에서 로그파일의 생성 경로에 이용된다.
- log4j.properties 경로 지정
- applicationContext.xml, dataAccessContext.xml 등의 경로 지정
(여기서 petstore-servlet.xml 는 제외한다. 어플리케이션이 구동 시에 자동으로 서블릿이름-servlet.xml이 로딩된다.) - spring 서블릿 등록, 스프링에서 처리할 url 패턴 지정
(네이버의 .nhn 도 이렇게 구현할 수도 있다. 아마 아파치 모듈을 썼다거나.. ) - 기타 서블릿 등록 (axis 등)
- 우리나라 필수!!! utf-8 인코딩 필터 지정
2. 프로퍼티 파일 설정
- jdbc.properties
- log4j.properties
- mail.properties
3. applicationContext.xml 설정
- 프로퍼티 파일들의 경로 지정(jdbc 등)
- 비즈니스 오브젝트 정의 - 벨리데이터, petStore(dao를 통합하고 있는 퍼사드 패턴으로 된 대표 클래스)
- Aspect 설정(AOP) - 트랜잭션
- 기타 - emailAdvice 나 RMI 익스포터 등 (쓸일은 있는 사람만 있는..)
4. petstore-servlet.xml 설정
- viewResolver 설정
- web.xml에 설정된 spring의 컨트롤러에서 처리할 때 필요한 jsp 파일들의 경로 지정이다.
- 파일의 앞 경로는 prefix에 쓰고 확장자는 suffix에 쓴다.
- 컨트롤러 정의
- 여러가지 url 매핑핸들러에 따라, 컨트롤러를 연결시켜 준다.
- Interceptor 지정을 통해서 url을 낚아채서 먼저 처리할 수도 있다
- petStore, 각종 벨리데이터 등을 컨트롤러에 주입시키는 정의를 한다.
5. ibatis의 dataAccessContext.xml 설정
- dataSource 설정 - 위에 설정한 jdcb.properties의 속성들을 사용한다
- transactionManager 설정 - dataSource의 트랜잭션 매니저를 설정한다
- sqlMapClient - sqlmap의 경로를 지정한다
- Dao 정의 - ibatis의 DAO들을 정의한다
6. ibatis의 sql-map-config.xml 설정
- 실제 사용되는 쿼리들이 적힌 개별 xml 파일들의 경로를 정의한다.
이 정도면 기본적인 것들을 진행하는데 큰 무리가 없으리라 본다.
도움이 되길 바라며..
'프로그래밍 > 프레임워크' 카테고리의 다른 글
[spring] 스프링 다시보기 - 기본 설정 (0) | 2009.01.13 |
---|---|
[spring] 스프링 다시보기 - AOP에 대해서 (0) | 2009.01.11 |
[spring] 스프링 다시보기 - IoC와 DI에 대해서 (0) | 2009.01.11 |
[spring] spring framework란? (0) | 2009.01.11 |
[spring] spring 프레임워크 다시보기 (0) | 2009.01.11 |
[Spring] Annotation-based Controller Interceptor Configuration (0) | 2008.07.15 |
댓글을 달아 주세요