1. Com.springsource.javax.activation : Spring java-mail
2. Com.springsource.javax.inject-1.0.0 : 프로토타입 프로퍼티 에디터를 위한 jar. @Inject, Provider인터페이스<PropertyEditorSupport> 지원
3. Com.springsource.javax.mail : Spring java-mail
4. Com.springsource.javax.servlet.jsp.jstl : JstlView
5. Com.springsource.org.aopalliance : Spring ProxyFactoryBean
6. Com.springsource.org.aspectj.tools : AspectJExpressionPointcut 포인트컷 표현식 지원
7. Com.springsource.org.cator.core : 자동으로 자바 오브젝트를 XML로 변환 지원.
8. Com.springsource.org.cator.xml : 자동으로 자바 오브젝트를 XML로 변환 지원
9. Com.springsource.org.joda.time : Date포맷 로케일 지원.
10. Com.springsource.junit : junit
11. Commons-logging : Spring-context가 사용
12. Jackson-annotation : MappingJackson2JsonView
13. Jackson-core : MappingJackson2JsonView
14. Jackson-databind : MappingJackson2JsonView
15. Mail : java-mail
16. Mockito : 목 프레임워크 중 Mockito
17. Mysql-connector : Mysql JDBC
18. Org.springframework.context.support : Spring java-mail
19. Org.springframework.oxm : Object-XML Mapping. 마샬러 빈을 지정해 모델에서 변환에 사용할 오브젝트를 지정해주면, OXM마샬러를 통해 모델 오브젝트를 XML로 변환해서 뷰의 결과로 사용할 수 있음.
20. Spring-aop : 스프링 기능 자체의 aop, Spring ProxyFactoryBean
21. Spring-bean : 스프링 코어와 함께 의존성 주입 제공 (Core Container)
22. Spring-context : 스프링 코어, BeanFactory를 확장한 어플리케이션 컨텍스트 구현, 리소스 로드 및 국제화 지원(Core Container)
23. Spring-core : 다른 스프링 모듈이 사용하는 유틸리티(Core Container)
24. Spring-expression : EL 확장 Bean속성(배열, 컬렉션 포함).(Core Container)
25. Spring-jdbc : 스프링이 지원하는 jdbc.
26. Spring-test.jar
- @RunWith : Junit 프레임워크의 테스트 실행방법을 확장시 사용.
- SpringJUnit4ClassRunner : 어플리케이션컨텍스트를 만들고 관리하는 확장 클래스
- @ContextConfiguration(경로) : 자동으로 만들어줄 어플리케이션 컨텍스트 설정파일
27. Spring-tx : DuplicateKeyException.class 파일 존재 및 스프링 트랜잭션
28. Spring-web : ContextLoaderListener 내장 루트 컨텍스트(서비스,DAO)
29. Spring-webmvc : SpringMVC를 위한 리졸버, 모델앤뷰 등 지원
모델의 오브젝트를 HTML로 만들어 줄때라던지, 다국어 서비스를 위해 지역화 메시지를 지원하는 웹 애플리케이션이라면, 같은 모델 프로퍼티 값이라도 지역설정에 따라 다른 내용으로 바꿔주는 기능. 리퀘스트 데이터 바인딩 뿐만 아닌 모델에서 뿌려주는 양방향으로 적용 가능.
Formatter의 경우에는 조금더 Web 프로그래밍에 최적화된 인터페이스라고 할 수 있다. Web의 경우 사용자의 요청값은 보통 String이며 응답 값도 String으로 해주게 된다. 그 때문에 Formatter는 Object와 , String간의 변경을 수월하게 할 수 있도록 , ThreadSafe 하고, 입력 받은 문자열에 따른 Message를 반환해주는 MessageSource를 사용할 수도 있다.
테스트 디스패처 서블릿을 위한 인터페이스
* 번거로운 XML 설정 대신 AbstractDispatcherServletTest를 사용
25. DispatcherServlet 초기화시 ServletConfig 오브젝트를 만들어 초기화해야함.
50. ContextRoot 값이 있을 때 추가해줌
54. setServletPath : 컨텍스트 root를 넣을 수 있도록 셋팅
58. request에 uri 정보와 get,post mothod 셋팅 및 리스판스 객체 생성
81. 테스트 DispatcherServlet Init
@NumberFormat 애노테이션 바인딩 기능을 사용하려면 FormattingConversionService에 FormattingConversionServiceFactoryBean를 작성해야한다. 위 빈에 커스텀 포맷터를 추가해줘도 되고, 커스텀 Formatter를 추가할 필요가 없다면 다음과 같이 직접 빈으로 등록해주면 된다.
34. @NumberFormat : 다양한 숫자 변환을 지원하는 포맷터. 문자열로 표현된 숫자를 java.lang.Number 타입의 오브젝트로 상호 변환해준다. Number의 서브클래스는 Byte, Double, Float, Integer, Long, Short, BigInteger, BigDecimal 이 있다. 폼정보에서 1,234.56 이라는 값이 들어오면 BigDecimal 타입으로 변경하여 1234.56 이라는 값으로 변경이 가능하다.
48. 자바 언어의 취약점으로 자주 꼽히는 것 중 하나가 바로 날짜와 시간 정보에 대한 지원 기능이 빈약하다는 점이다. Joda의 대한 설명은 아래 스샷 참조
'스프링' 카테고리의 다른 글
096.WEB_Validator_BindingResult_Errors_Locale (0) | 2021.02.24 |
---|---|
095.WEB_WebDataBinder_AllowedField_requiredFileds_fieldMarkerPrefix (0) | 2021.02.23 |
093.WEB_Converter (0) | 2021.02.21 |
092.WEB_모델과바인딩검증_프로퍼티에디터_프로토타입빈 (0) | 2021.02.20 |
091.WEB_모델과바인딩검증_프로퍼티에디터_싱글톤 (0) | 2021.02.19 |