본문 바로가기

스프링

[spring] 제네릭스_매핑정보상속_컨트롤러

1.     Com.springsource.javax.activation : Spring java-mail

2.     Com.springsource.javax.mail : Spring java-mail

3.     Com.springsource.javax.servlet.jsp.jstl : JstlView

4.     Com.springsource.org.aopalliance : Spring ProxyFactoryBean

5.     Com.springsource.org.aspectj.tools : AspectJExpressionPointcut 포인트컷 표현식 지원

6.     Com.springsource.org.cator.core : 자동으로 자바 오브젝트를 XML로 변환 지원.

7.     Com.springsource.org.cator.xml : 자동으로 자바 오브젝트를 XML로 변환 지원.

8.     Com.springsource.junit : junit

9.     Commons-logging : Spring-context가 사용

10.   Jackson-annotation : MappingJackson2JsonView

11.   Jackson-core : MappingJackson2JsonView

12.   Jackson-databind : MappingJackson2JsonView

13.   Mail : java-mail

14.   Mockito : 목 프레임워크 중 Mockito

15.   Mysql-connector : Mysql JDBC

16.   Org.springframework.context.support : Spring java-mail

17.   Org.springframework.oxm : Object-XML Mapping. 마샬러 빈을 지정해 모델에서 변환에 사용할 오브젝트를 지정해주면, OXM마샬러를 통해 모델 오브젝트를 XML로 변환해서 뷰의 결과로 사용할 수 있음.

18.   Spring-aop : 스프링 기능 자체의 aop, Spring ProxyFactoryBean

19.   Spring-bean : 스프링 코어와 함께 의존성 주입 제공 (Core Container)

20.   Spring-context : 스프링 코어, BeanFactory를 확장한 어플리케이션 컨텍스트 구현, 리소스 로드 및 국제화 지원(Core Container)

21.   Spring-core : 다른 스프링 모듈이 사용하는 유틸리티(Core Container)

22.   Spring-expression : EL 확장 Bean속성(배열, 컬렉션 포함).(Core Container)

23.   Spring-jdbc : 스프링이 지원하는 jdbc.

24.   Spring-test.jar

-       @RunWith : Junit 프레임워크의 테스트 실행방법을 확장시 사용.

-       SpringJUnit4ClassRunner : 어플리케이션컨텍스트를 만들고 관리하는 확장 클래스

-       @ContextConfiguration(경로) : 자동으로 만들어줄 어플리케이션 컨텍스트 설정파일

25.   Spring-tx : DuplicateKeyException.class 파일 존재 및 스프링 트랜잭션

26.   Spring-web : ContextLoaderListener 내장 루트 컨텍스트(서비스,DAO)

27.   Spring-webmvc : SpringMVC를 위한 리졸버, 모델앤뷰 등 지원

 

테스트 디스패처 서블릿을 위한 인터페이스

 

* 번거로운 XML 설정 대신 AbstractDispatcherServletTest를 사용

25. DispatcherServlet 초기화시 ServletConfig 오브젝트를 만들어 초기화해야함.

50. ContextRoot 값이 있을 때 추가해줌

54. setServletPath : 컨텍스트 root를 넣을 수 있도록 셋팅

58. requesturi 정보와 get,post mothod 셋팅 및 리스판스 객체 생성

 

81. 테스트 DispatcherServlet Init

 

 

22. 각 컨트롤러마다 모델의 타입만 달라질 뿐 기본적인 구성과 코드는 동일한 코드가 중복돼서 만들어지기 마련이다. 타입만 달라지는 경우 제네릭스를 이용해 추상클래스를 만들어 활용하기에 적절하다.

24~28. 추상클래스에서는 메서드 레벨에서의 매핑

30, 37 개별 컨트롤러는 타입을 지정하는 역할만한다.

30~37. 개별 컨트롤러에서는 타입레벨에서의 매핑.

* DefaultAnnotationHandlerMapping을 통해 @RequestMapping을 매핑해준다.