我無法找到一個堅實的答案。我知道控制器的範圍是singleton並實例化一次,對於控制器類中的任何成員變量也是如此。在Spring REST中,請求對象是在每個請求上實例化的嗎?
我的問題:傳入的請求對象是每個請求上的新實例嗎?假設Jackson正在將JSON請求主體映射到請求對象。
例如:
@RequestMapping(path = "/dosomething", method = POST)
@ResponseBody
public SomeObject doSomething(@RequestBody SomeObject someObject) {
// code here
return someObject;
}
我想處理/存儲或以其他方式改變someObject的狀態,但我不知道在處理如何安全是當許多要求,或者我需要顯式實例化從入站請求對象深度複製新的SomeObject。
感謝您的幫助!
修改請求參數是安全的。但是,如果Spring將重用該實例或不應該擔心(但是,這是非常不可能的,因爲池開銷遠遠大於生成新的值對象)。 – eckes