ASP.NET2009.04.14 09:53
앞서 환경셋팅과 디비를 만들었다면, 이번에는 프로젝트 생성하고 Spring.net 의 환경 셋팅을 해 보자.

아래 그림과 같이 [프로젝트 형식]-[웹]-[ASP.NET MVC Web Application] 을 선택하고, 프로젝트 이름을 SpringBoard 로 한다

확인을 누르면 다음과 같은 TDD를 위한 설정화면이 나오는데, 최근 무료 배포된 ASP.NET MVC 책에서 설명한것 처럼 단위 테스트를 위해 필요하니 OK 를 선택 하자.

이제 프로젝트가 생성되었으니, SPRING.NET 과 iBATIS.NET 의 프레임웍을 참조 추가 하도록 한다.
[프로젝트]-[참조 추가]를 선택하고, 우선 SPRING.NET 에서 우리가 사용할 dll 을 참조 추가 한다.

Web, Aop, Core 이 세가지를 사용한다. 다시 한번 설명하자면, Core는 Spring.net 의 핵심 모듈로써, 주로 DI 를 담당하고, AOP는 말 그대로 AOP를 제공한다. Web은 놀랍게도, Spring.Web 네임스페이스는 SPRING Ioc Container 의 제일 상단에 위치하고 있다. 이 말은 ASP.NET MVC에서 Route 하는 부분을 Spring 이 대신 해 줄수 있다는 말이다.

예를 들면 다음 코드와 같다.(이 부분은 예시 이므로 참고만 할것)


3번 줄 부분이 의미 하는것은 확장자가 aspx 인 모든 요청에 대한 처리는 spring의 PageHandlerFactory 가 처리를 하겠다는 말이다.

이부분이 Spring framework 에서 아주아주 중요한데 단시 페이지 라우팅 부분을 위임하는게 아니라, 어플리케이션의 패턴이 바뀌는 부분이다. 왜냐면 기존 ASP.NET MVC에서는 단지 요청의 경로만을 넘겨주고, 중간 Model 에서 값을 셋팅하기 때문에 어떻게 보면 자바에서 설명하는 MVC 모델 2 를 취하는데, 문제는 Dependency 부분이다. 이 부분을 SPRING.NET Framework 에서 해결 해 준다. 즉 페이지 라우팅(View Resolve) 할때, 원하는 클래스를 미리 DI 해서 보낼 수 있다.

앞으로 진행될 게시판 개발에서 모든페이지에 Facade 클래스를 주입할 것이다. 이렇게 중앙 집중식으로 처리가 되고, 스프링과 ASP.NET의 오묘한 결합이 얼마나 재미있는 요소가 많은지도 찾게 될 것이다. ^^

이처럼 포스팅 하다가는 게시판 하나에 10페이지가 넘어갈수도 있을것 같은 불안한 예감을 뭘까? ㅡ..ㅡ;
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바