天天看點

Java單體應用 - 常用架構 - 07.Spring MVC - 其它注解其它注解

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

其它注解

序号 文内章節 視訊
1 @ModelAttribute -
2 @ResponseBody

請參照如上

章節導航

進行閱讀

1.@ModelAttribute

@ModelAttribute

具有如下三個作用:

  • 綁定請求參數到指令對象:

放在功能處理方法的入參上時,用于将多個請求參數綁定到一個指令對象,進而簡化綁定流程,而且自動暴露為模型資料用于視圖頁面展示時使用

  • 暴露

    @RequestMapping

    方法傳回值為模型資料:

放在功能處理方法的傳回值上時,是暴露功能處理方法的傳回值為模型資料,用于視圖頁面展示時使用

  • 暴露表單引用對象為模型資料:

放在處理器的一般方法(非功能處理方法)上時,是為表單準備要展示的表單引用對象,如注冊時需要選擇的所在城市等,而且在執行功能處理方法(

@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

标簽的頁面,而是其他某種格式的資料時(如:

json

xml

等)使用

處理自定義類型

如果需要傳回自定義對象為

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群

,及時關注我們的課程更新
Java單體應用 - 常用架構 - 07.Spring MVC - 其它注解其它注解
Java單體應用 - 常用架構 - 07.Spring MVC - 其它注解其它注解