복붙노트

[SPRING] 스프링 웹 플로우 생성자를 통해 불변 객체에 데이터 바인딩?

SPRING

스프링 웹 플로우 생성자를 통해 불변 객체에 데이터 바인딩?

Spring 웹 플로우의 뷰 상태 내에서 불변 객체를 모델로 사용하는 방법이 있습니까? 스프링 웹 플로우는 일반적으로 이런 종류의 setter 경향이지만, 만약 누군가가 생성자를 사용하여 데이터 바인딩을 처리 할 수있는 커스텀 DataBinder 또는 WebDataBinder를 알고 있다면 궁금해하십니까?

또한 직접 필드 접근을 주창 한이 문제 (SPR-1488)에 대한 JIRA 작업이 있음을 알고 있습니다. 사람들은 이런 일을하는 방식을지지합니까? 나에게 그것은 옳다고 생각하지 않는다.

감사,

스튜어트

해결법

  1. ==============================

    1.Jackson의 ObjectMapper (JSON 이외에도 변경 불가능한 객체에 매핑하는 작업)를 사용하여이 작업을 수행 할 수있는 방법을 보여주었습니다.

    Jackson의 ObjectMapper (JSON 이외에도 변경 불가능한 객체에 매핑하는 작업)를 사용하여이 작업을 수행 할 수있는 방법을 보여주었습니다.

    https://gist.github.com/4458079

    주의해야 할 점은 모든 인수 리졸버를 대체하지 않는 한 Spring의 유효성 검사 (BindingResult)를 사용하려는 경우 @ModelAttribute를 사용할 수 없다는 것입니다. 그러나 @Valid (유효성 검사 포함)는 작동해야하며 @RequestBody는 내 솔루션으로도 작동합니다 (유효성 검사 제외).

    요청 매개 변수를 객체에 매핑하기 위해 Jackson을 사용하지만 JSON 처리가 필요하지 않습니다. 원하는 경우 MappingJacksonHttpMessageConverter를 참조하십시오.

    미약 한 뻔뻔한 플러그로서 필자는 불변의 ORM이라고 불리는 JIRM과 함께 이것을 필요로했다. 나는 메시지 기반 아키텍처를위한 불변 객체를 선호하기 때문이다.

  2. from https://stackoverflow.com/questions/7066405/spring-webflow-databinding-to-immutable-objects-via-a-constructor by cc-by-sa and MIT license