Java单体应用 - 常用框架 - 07.Spring MVC - 其它注解

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

其它注解

序号 文内章节 视频
1 @ModelAttribute -
2 @ResponseBody -

请参照如上章节导航进行阅读

[email protected]

@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;
}

[email protected]

@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群,及时关注我们的课程更新


原文地址:https://blog.51cto.com/14735583/2480686

时间: 2024-10-06 00:41:28

Java单体应用 - 常用框架 - 07.Spring MVC - 其它注解的相关文章

Java单体应用 - 常用框架 - 07.Spring MVC - 表单标签库

原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-form-tags.html更多教程:光束云 - 免费课程 表单标签库 序号 文内章节 视频 1 声明表单标签 - 2 表单标签 - 3 文本框 - 4 密码框 - 5 文本域 - 6 复选框 - 7 复选框(多选) - 8 单选按钮 - 9 单选按钮(多选) - 10 下拉列表 - 11 下拉列表(多选) - 12 隐藏域 - 请参照如上章节导航进行阅读

Java单体应用 - 常用框架 - 07.Spring MVC - 项目重构(iot-admin3)

原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-iot-admin3.html更多教程:光束云 - 免费课程 项目重构(iot-admin3) 序号 文内章节 视频 1 概述 - 2 配置和结构重构 - 3 Controller控制器重构 - 4 使用拦截器 - 5 实例源码 - 请参照如上章节导航进行阅读 1.概述 我们继续以上一章节 Spring Web 中的案例项目 iot-admin2 为基础,复

Java单体应用 - 常用框架 - 07.Spring MVC - Maven 模块化开发(iot-

原文地址:http://www.work100.net/training/monolithic-frameworks-spring-mvc-maven-module.html更多教程:光束云 - 免费课程 Maven 模块化开发 序号 文内章节 视频 1 概述 - 2 创建根项目(工程) - 3 创建统一的依赖管理模块 - 4 创建通用的工具类模块 - 5 创建领域模型模块 - 6 创建管理后台模块 - 7 创建前端控制台模块 - 8 创建接口模块 - 9 清理.编译.打包 - 10 功能完善

Java单体应用 - 常用框架 - 02.Spring

原文地址:http://www.work100.net/training/monolithic-frameworks-spring.html更多教程:光束云 - 免费课程 Spring 序号 文内章节 视频 1 概述 - 2 体系结构 - 3 特点 - 4 Spring与IoC - 5 第一个Spring应用程序 - 请参照如上章节导航进行阅读 1.概述 Spring 的主要作用就是为代码"解耦",降低代码间的耦合度. 根据功能的不同,可以将一个系统中的代码分为 主业务逻辑 与 系统级

Java单体应用 - 常用框架 - 05.综合实例(iot-admin)

原文地址:http://www.work100.net/training/monolithic-frameworks-example.html更多教程:光束云 - 免费课程 综合实例 序号 文内章节 视频 1 概述 - 2 创建项目 - 3 使用AdminLTE模板 - 4 创建登录页 - 5 登录功能实现 - 6 提升用户体验 - 7 实例源码 - 请参照如上章节导航进行阅读 1.概述 本节将把「Java单体应用」课程做一个阶段性的总结,通过一个综合的案例将所学知识完整实践一下. 我们后续阶段

Java十大常用框架介绍(spring系+dubbo+RabbitMQ+Ehcache+redis)

一.SpringMVC Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的. 模型(Model )封装了应用程序的数据和一般他们会组成的POJO. 视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释. 控制器(Contro

Java单体应用 - 常用框架 - 08.MyBatis

原文地址:http://www.work100.net/training/monolithic-frameworks-mybatis.html 更多教程:光束云 - 免费课程 MyBatis 简介 序号 文内章节 视频 1 什么是MyBatis - 2 MyBatis体系结构 - 3 MyBatis的工作流程 - 4 MyBatis与Hibernate - 5 MyBatis的特点 - 请参照如上章节导航进行阅读 1.什么是MyBatis MyBatis 是一款优秀的持久层框架,它支持定制化 S

Java单体应用 - 常用框架 - 08.MyBatis - Druid 简介

原文地址:http://www.work100.net/training/monolithic-frameworks-mybatis-druid.html 更多教程:光束云 - 免费课程 Druid 简介 序号 文内章节 视频 1 概述 - 2 各种连接池性能对比测试 - 请参照如上章节导航进行阅读 1.概述 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池.插件框架和 SQL 解析器组成. 该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥

Java单体应用 - 常用框架 - 01.Bootstrap

原文地址:http://www.work100.net/training/monolithic-frameworks-bootstrap.html 更多教程:光束云 - 免费课程 Bootstrap 序号 文内章节 视频 1 概述 2 阅读对象 3 前置知识 4 为什么使用Bootstrap 5 Bootstrap包的内容 6 参考资源 请参照如上章节导航进行阅读 1.概述 Bootstrap 来自 Twitter,是目前很受欢迎的前端框架. Bootstrap 是基于 HTML.CSS.Jav