是否有任何方式在Spring webflow中使用不可變對象作爲視圖狀態中的模型?我知道Spring webflow通常傾向於這種類型的setter,但我想知道是否有人知道可以使用構造函數處理綁定數據的自定義DataBinder或WebDataBinder?Spring Webflow DataBinding通過構造函數的不可變對象?
我也知道有這個(SPR-1488) JIRA任務反對這個問題,它主張直接字段訪問。人們是否主張這種做事的方式?對我來說,這感覺不太對勁。
感謝,
斯圖爾特
是否有任何方式在Spring webflow中使用不可變對象作爲視圖狀態中的模型?我知道Spring webflow通常傾向於這種類型的setter,但我想知道是否有人知道可以使用構造函數處理綁定數據的自定義DataBinder或WebDataBinder?Spring Webflow DataBinding通過構造函數的不可變對象?
我也知道有這個(SPR-1488) JIRA任務反對這個問題,它主張直接字段訪問。人們是否主張這種做事的方式?對我來說,這感覺不太對勁。
感謝,
斯圖爾特
我已經把你如何能做到這一點使用傑克遜的ObjectMapper(其中除了JSON做得很好映射什麼不可變對象)的一個例子。
https://gist.github.com/4458079
幾件事情要注意的是,如果你想使用Spring的驗證(BindingResult
),除非你更換所有的參數解析器不能使用@ModelAttribute
。然而@Valid
(有驗證)應該工作,@RequestBody
也將與我的解決方案一起工作(無驗證)。
儘管其使用傑克遜映射請求參數的對象沒有涉及JSON處理。如果你想看到MappingJacksonHttpMessageConverter。
作爲一個軟弱的無恥插頭我和Immutable ORM called: JIRM需要這種結合,因爲我喜歡的消息驅動架構不變的對象。
我也在努力解決這個問題。 –
查看我的解決方案。我也想要這個功能。 –