SpringMVC的@ModelAttribute注解是什么?作用及使用场景介绍

 更新时间:2026年08月04日 15:10:39   作者:律二萌萌哒  
还在为SpringMVC参数绑定发愁?本文带你搞懂@ModelAttribute注解的两种核心用法:在参数上自动注入并加入ModelMap,在方法上实现预处理并共享数据,通过实例详解,帮你轻松掌握这一实用技巧,提升开发效率

1.用在方法的参数上

注解在参数上,会将客户端传递过来的参数按名称注入到指定对象中,

并且会将这个对象自动加入ModelMap中

<form action="../register" method="post">
姓名:<input type="text" name="name" id="name">
生日:<input type="text" id="birthday" name="birthday">
<input id="submit" type="submit" value="提交"/>
</form>
@RequestMapping(value="/register")
	public String register(@ModelAttribute User user,Model model) {
		System.out.println(user.getBirthday());
		model.addAttribute("user", user);
		return "success";
	}

2.用在Controller的方法上

注解在方法上,会在每一个@RequestMapping标注的方法前执行,

如果有返回值,则自动将该返回值加入到ModelMap中

/*
	 * 在控制器类的处理方法执行前执行指定的方法
	 */
	@ModelAttribute
	public User getUser(Model model) {
		User user=new User("吕蒙","123",new Address("江苏","南京"));
		model.addAttribute("user", user);
		return user;
	}
	
	@RequestMapping("/modelAttribute")
	public String modelAttribute(User user) {
		System.out.println(user);
		return "success";
	}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot 配置文件从基础语法到验证码实战

    Spring Boot 配置文件从基础语法到验证码实战

    本文详细解析了SpringBoot配置文件的作用及其主流格式,包括Properties和YAML(YML)的语法差异、优先级及适用场景,并通过@Value与@ConfigurationProperties注解的代码实战,演示了如何将配置项优雅地集成到实际业务中,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • SpringBoot自定义starter实例代码

    SpringBoot自定义starter实例代码

    这篇文章主要给大家介绍了关于SpringBoot自定义starter的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用SpringBoot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Java如何实现树的同构?

    Java如何实现树的同构?

    今天给大家带来的是关于Java的相关知识,文章围绕着Java如何实现树的同构展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Java中递归、循环的优劣分析

    Java中递归、循环的优劣分析

    这篇文章主要给大家介绍了关于Java中递归、循环的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Web三大组件之Filter,Listener和Servlet详解

    Web三大组件之Filter,Listener和Servlet详解

    这篇文章主要为大家详细介绍了Web三大组件之Filter,Listener和Servlet,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • springboot异步@Async的使用及失效场景介绍

    springboot异步@Async的使用及失效场景介绍

    本文主要介绍了springboot异步@Async的使用及失效场景介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • maven中snapshot相关jar无法拉取问题及解决方案(常用方案)

    maven中snapshot相关jar无法拉取问题及解决方案(常用方案)

    Maven中的SNAPSHOT版本是指正在开发中的版本,这些版本可能会频繁地更新,在使用Maven构建项目时,有时会遇到无法拉取SNAPSHOT相关jar的问题,下面给大家分享maven中snapshot相关jar无法拉取问题及解决方案,感兴趣的朋友一起看看吧
    2024-06-06
  • java中下拉框select和单选按钮的回显操作

    java中下拉框select和单选按钮的回显操作

    这篇文章主要介绍了java中下拉框select和单选按钮的回显操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • java基于JDBC连接Oracle 11g Release2实例分析

    java基于JDBC连接Oracle 11g Release2实例分析

    这篇文章主要介绍了java基于JDBC连接Oracle 11g Release2的方法,实例分析了JDBC连接Oracle 11g Release2容易出现的异常与解决方法,需要的朋友可以参考下
    2015-06-06
  • SpringBoot 整合数据源的具体实践

    SpringBoot 整合数据源的具体实践

    本文主要介绍了SpringBoot 整合数据源的具体实践,利用 Spring Boot 的自动配置和简化的注解来简化数据源配置工作,从而更专注于应用程序的业务逻辑开发,感兴趣的可以了解一下
    2023-11-11

最新评论