본문 바로가기

Programming/Spring28

[전자정부프레임워크] CommandMap 으로 파라미터를 가져오지 못할떄 Controller에서 화면(JSP) 입력값을 받기 위해서 일반적으로 Command(Form Class) 객체를 사용하지만, Map 객체를 사용하는걸 선호할 수 있다.전자정부프레임워크 버전 3.0이전에서는 CommandMapArgumentResolver를 통해 Map객체를 사용할 수 있었다. 그러나 3.0부터는 @CommandMap과 AnnotationCommandmapArgumentResolver를 통해 Map객체를 사용할 수 있다. org.springframework.web.method.support.HandlerMethodArgumentResolver의 구현클래스인 AnnotationCommandMapArgumentResolver은 HTTP request 객체에 있는 파라미터이름과 값을 Map 객체.. 2015. 6. 2.
스프링캠프 http://www.springcamp.io/2014/ 2015. 2. 24.
객체 검증의 종결자 @Valid 스프링 MVC에서 지원하는 @Valid를 통한 데이터 검증은 정말 놀랍다. 특히 브라우저에서 클라이언트가 입력자료를 넘겨줄 때 이 자료를 검증할 수 있는 모델을 매우 손쉽게 만들 수 있다는 점이다. @Valid는 스프링이 만든 기술은 아니며 최근 JSR-303이란 이름으로 채택된 서블릿 2.3 표준스펙 중 하나인데 매번 그렇듯 스프링은 이 새로운 표준을 확장하고 쉽게 사용할 수 있도록 스프링만의 방식으로 재편성해주었다. @Valid가 간소화 될 수 있었던 배경을 이해하고 응용할 수 있게끔 학습하는게 중요하겠지만 먼저 @Valid가 얼마나 대단한지 보여주기 위해 맛보기로 간단한 @Valid 예제를 살펴보고자 한다. 먼저 자바빈 객체를 하나 만들어보자. public class User { @Size(min=.. 2014. 8. 27.
@ModelAttribute와 @SessionAttributes의 이해와 한계 @MVC에는 개발자들에게 프로그래밍을 예술의 경지까지 승화시켜주는 다양한 기술들이 존재하지만 그 중에서도 가장 아름다운 것을 꼽으라면 어노테이션을 통한 자동 객체변환을 꼽을 수 있겠다. 그리고 그 자동 객체변환 기술 중에서도 가장 아름다운 것은 @SessionAttributes와 @ModelAttribute… 개인적인 느낌으론 그야말로 객체변환의 결정체라고 할 수 있겠다. @ModelAttribute 먼저 @ModelAttribute를 살펴보자. 필자가 @MVC를 처음 접했을 때는 어노테이션이라는 것 마저도 굉장히 생소했고 어노테이션만으로 이런 말도 안되는 기술이 구현가능하다는 사실에 깜짝 놀랐었다. 몸만 안 자빠졌을 뿐이지 정신은 안드로메다로 내달리는 정도라고나 할까? 굳이 예를 들자면… 당신이 90년.. 2014. 8. 27.