ResponseBody註解作用和原理

2021-09-03 03:36:59 字數 680 閱讀 3320

@responsebody這個註解通常使用在控制層(controller)的方法上,其作用是將方法的返回值以特定的格式寫入到response的body區域,進而將資料返回給客戶端。當方法上面沒有寫responsebody,底層會將方法的返回值封裝為modelandview物件。

那麼,控制層方法的返回值是如何轉化為json格式的字串的呢?其實是通過httpmessageconverter中的方法實現的,因為它是乙個介面,因此由其實現類完成轉換。如果是bean物件,會呼叫物件的get***()方法獲取屬性值並且以鍵值對的形式進行封裝,進而轉化為json串。如果是map集合,採用get(key)方式獲取value值,然後進行封裝。

控制台invoking responsebodyadvice chain for body=中文中文

after responsebodyadvice chain body=中文中文

written [中文中文] as "text/html" using [org.springframework.http.converter.stringhttpmessageconverter@32df7c89]

Retention註解作用

是定義被它所註解的註解保留多久,一共有三種策略,定義在retentionpolicy列舉中.從注釋上看 就用 class註解 如果只是做一些檢查性的操作,比如 override 和 suppresswarnings,則可選用 source 註解。獲取指定型別的註解 public a getannot...

elasticsearch註解作用說明

elasticsearch中存在關聯的類的相同字段 型別 名稱都相同 要用同樣的方式解析 index fieldindex.no analyzed not analyzed 否則會衝突 註解作用說明 field type fieldtype.long,index fieldindex.not ana...

關於 Service註解作用

1 其getbean的預設名稱是類名 頭字母小寫 可以 service x 這樣來指定,2 其定義的bean預設是單例的,可以使用 service beanname scope prototype 來改變。3 可以通過 postconstruct和 predestroy指定初始化方法和銷毀方法 方法...