Java單體應用 - 經常使用框架 - 07.Spring MVC - 其它註解

原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-other-annotation.html
更多教程:光束雲 - 免費課程html

其它註解

序號 文內章節 視頻
1 @ModelAttribute -
2 @ResponseBody -

請參照如上章節導航進行閱讀java

1.@ModelAttribute

@ModelAttribute 具備以下三個做用:spring

  • 綁定請求參數到命令對象json

    放在功能處理方法的入參上時,用於將多個請求參數綁定到一個命令對象,從而簡化綁定流程,並且自動暴露爲模型數據用於視圖頁面展現時使用spring-mvc

  • 暴露 @RequestMapping 方法返回值爲模型數據mybatis

    放在功能處理方法的返回值上時,是暴露功能處理方法的返回值爲模型數據,用於視圖頁面展現時使用mvc

  • 暴露表單引用對象爲模型數據app

    放在處理器的通常方法(非功能處理方法)上時,是爲表單準備要展現的表單引用對象,如註冊時須要選擇的所在城市等,並且在執行功能處理方法(@RequestMapping 註解的方法)以前,自動添加到模型對象中,用於視圖頁面展現時使用框架

例子

暴露表單引用對象爲模型數據的例子:異步

@ModelAttribute
public User get(@RequestParam(required = false) String id) {
    User entity = null;
    if (StringUtils.isNotBlank(id)) {
        entity = userService.get(id);
    }
    if (entity == null) {
        entity = new User();
    }
    return entity;
}

2.@ResponseBody

@ResponseBody 註解表示該方法的返回的結果直接寫入 HTTP 響應正文(ResponseBody)中,通常在異步獲取數據時使用,一般是在使用 @RequestMapping 後,返回值一般解析爲跳轉路徑,加上 @ResponseBody 後返回結果不會被解析爲跳轉路徑,而是直接寫入HTTP 響應正文中。

做用

該註解用於將 Controller 的方法返回的對象,經過適當的 HttpMessageConverter 轉換爲指定格式後,寫入到 Response 對象的 body 數據區。

使用時機

返回的數據不是 html 標籤的頁面,而是其餘某種格式的數據時(如:jsonxml 等)使用

處理自定義類型

若是須要返回自定義對象爲 JSON 數據類型,須要增長 jackson 依賴,pom.xml 配置文件以下:

<!-- Json Begin -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.5</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.5</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>${jackson.version}</version>
</dependency>
<!-- Json End -->

上一篇:表單標籤庫

下一篇:MyBatis


若是對課程內容感興趣,能夠掃碼關注咱們的 公衆號QQ羣,及時關注咱們的課程更新

公衆號
QQ交流羣

相關文章
相關標籤/搜索