`

SringMVC 注解标记备忘录

 
阅读更多

Spring MVC注解开发中常用标签如下表:

 

 

 

编号

注解

说明

位置

备注

1

@Controller

将类变成 Spring Bean

现阶段 @Controller @Service 以及 @Repository @Component 注解的作用是等价的

2

@RequestMapping

请求映射

类、方法

标注在类上意指类实现 Controller 接口

标注在方法上意指扩展 Spring 预定义 Controller ( :SimpleFormController)

3

@RequestParam

入参绑定 URL

入参

指定 URL 参数与方法入参的绑定规则

4

@SessionAttributes

设定 Session 范围属性

如: @SessionAttributes("user") ,将把 ModelMap 中的 user 属性添加到 Session 范围

5

@InitBinder

注册 Controller 级的自定义属性编辑器

方法

@InitBinder 注解的方法必须拥有一个 WebDataBinder 类型的入参,以便 Spring MVC 框架将注册属性编辑器的 WebDataBinder 对象传递进来

6

@ModelAttribute

准备引用数据 / ModelMap 属性绑定到入参

方法、入参

标注在方法上:准备引用数据

标注在入参上:将 ModelMap 中的属性绑定到请求处理方法的入参中

 

Controller中方法的入参类型:

 

 

 

编号

请求处理方法入参的可选类型

说明

1

Java 基本数据类型和 String

默认情况下将按名称匹配的方式绑定到 URL 参数上,可以通过 @RequestParam 注解改变默认的绑定规则

2

request/response/session

既可以是 Servlet API 的也可以是 Portlet API 对应的对象, Spring 会将它们绑定到 Servlet Portlet 容器的相应对象上

3

org.springframework.web.context.request.WebRequest

内部包含了 request 对象

4

java.io.InputStream/java.io.Reader

可以借此访问 request 的内容

5

java.io.OutputStream / java.io.Writer

可以借此操作 response 的内容

6

任何标注了 @RequestParam 注解的入参

被标注 @RequestParam 注解的入参将绑定到特定的 request 参数上。

7

java.util.Map / org.springframework.ui.ModelMap

它绑定 Spring MVC 框架中每个请求所创建的潜在的模型对象,它们可以被 Web 视图对象访问(如 JSP

8

命令 / 表单对象(注:一般称绑定使用 HTTP GET 发送的 URL 参数的对象为命令对象,而称绑定使用 HTTP POST 发送的 URL 参数的对象为表单对象)

它们的属性将以名称匹配的规则绑定到 URL 参数上,同时完成类型的转换。而类型转换的规则可以通过 @InitBinder 注解或通过 HandlerAdapter 的配置进行调整

9

org.springframework.validation.Errors / org.springframework.validation.BindingResult

为属性列表中的命令 / 表单对象的校验结果,注意检验结果参数必须紧跟在命令 / 表单对象的后面

10

rg.springframework.web.bind.support.SessionStatus

可以通过该类型 status 对象显式结束表单的处理,这相当于触发 session 清除其中的通过 @SessionAttributes 定义的属性

 

Controller中方法的返回类型:

 

 

编号

请求处理方法入参的可选类型

说明

1

void

此时逻辑视图名由请求处理方法对应的 URL 确定,如以下的方法:

@RequestMapping("/welcome.do")

public void welcomeHandler() {

}

对应的逻辑视图名为“ welcome

2

String

此时逻辑视图名为返回的字符,如以下的方法:

 

@RequestMapping(method = RequestMethod.GET)

public String setupForm(@RequestParam("ownerId") int ownerId, ModelMap model) {

      Owner owner = this.clinic.loadOwner(ownerId);

      model.addAttribute(owner);

      return "ownerForm";

}

 

对应的逻辑视图名为“ ownerForm

3

org.springframework.ui.ModelMap

和返回类型为 void 一样,逻辑视图名取决于对应请求的 URL ,如下面的例子:

 

@RequestMapping("/vets.do")

public ModelMap vetsHandler() {

      return new ModelMap(this.clinic.getVets());

}

 

对应的逻辑视图名为“ vets ”,返回的 ModelMap 将被作为请求对应的模型对象,可以在 JSP 视图页面中访问到。

4

org.springframework.web.servlet.ModelAndView

当然还可以是传统的 ModelAndView

 

 

附件是完整的工程。

 

分享到:
评论

相关推荐

    Android-使用kotlin开发的仿EMUI备忘录使用ObjectBox框架

    本项目"Android-使用kotlin开发的仿EMUI备忘录"就是基于Kotlin语言,模仿华为手机的EMUI备忘录功能,并利用ObjectBox这一高性能的对象数据库框架来处理本地数据存储。接下来,我们将深入探讨如何在Android应用中结合...

    eclipse图标含义备忘录

    Eclipse图标含义备忘录这篇文章提供了一系列Eclipse内部的图标及其含义,有助于开发者更好地理解和使用Eclipse环境。 首先,文章提到了不同类型的Java文件和它们在Eclipse中的表示。例如,CompilationUnit(*.java)...

    Java反射备忘录

    在“Java反射备忘录”中,我们可能探讨了以下核心概念: 1. 反射机制的基本概念:Java反射提供了一种在运行时分析类和对象的能力,使得程序能够动态地创建对象、调用方法、访问和修改字段值,即使这些信息在编译时...

    SSH注解方式整合小例子

    例如,`@Component`、`@Service`、`@Repository`和`@Controller`注解分别用于标记不同的组件,`@Autowired`用于自动装配依赖,`@Transactional`用于标记事务处理方法。 **Hibernate** 是一个对象关系映射(ORM)...

    临时备忘录

    【标题】:“临时备忘录”通常指的是在编程或IT工作中用于记录临时性问题解决方案、技术要点或待处理事项的文档。这样的备忘录有助于提高工作效率,减少重复工作,便于团队成员之间的信息共享。 【描述】:虽然描述...

    Junit测试备忘录

    - `@Test`: 标记为测试方法,通常包含一个断言来验证预期结果。 - `@Before`: 在每个测试方法之前执行的方法,用于初始化测试环境。 - `@After`: 在每个测试方法之后执行的方法,用于清理资源或状态。 - `@...

    Java自定义注解使用反射获取字段注解

    接下来,我们可以创建一个类并使用自定义注解标记某个字段: ```java public class AnnotationDemo { @MyCustomAnnotation("测试注解") private String testField; } ``` 现在,我们可以使用反射机制来获取这个...

    常用MATLAB函数备忘录.pdf

    MATLAB 函数备忘录 MATLAB 是一种高级编程语言和环境,广泛应用于科学计算、数据分析、算法开发、数据可视化等领域。以下是 MATLAB 中常用的函数备忘录,涵盖了数学函数、三角函数、向量函数、永久常数、绘图函数等...

    常用MATLAB函数备忘录.docx

    MATLAB函数备忘录 MATLAB是一种高性能的技术计算语言,它提供了大量的数学函数和工具来帮助用户进行科学计算和数据分析。下面是MATLAB中的一些常用函数备忘录: 一、基本数学函数 * abs(x):纯量的绝对值或向量的...

    JDK注解@XmlRootElement

    在这个例子中,`RootClass`被`@XmlRootElement(name="rootclass")`注解标记,这意味着该类实例化后生成的XML文档的根元素名为`rootclass`。此外,`EleClassA`和`EleClassB`的属性也将根据其所在的位置和使用的注解被...

    jQuery+json+struts2 开发备忘录(一)

    在本篇“jQuery+json+struts2 开发备忘录(一)”中,我们将探讨如何使用这三种技术来构建高效且用户友好的Web应用程序。jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。JSON...

    每周日程规划备忘录excel模版下载

    在本主题中,我们将探讨“每周日程规划备忘录excel模版”,它是一个非常实用的工具,可以帮助我们系统地规划和追踪每周的工作任务。 模版设计通常包括以下几个核心部分: 1. **标题区域**:模版的顶部会有一个标题...

    spring简单注解+log4j记录日志

    例如,`@Component`、`@Service`、`@Repository`和`@Controller`这些注解用于标记不同类型的bean,使Spring自动扫描并管理这些类。此外,`@Autowired`用于依赖注入,使得对象之间的关联配置变得更加简洁。 接着,...

    Spring java注解,元注解和自定义注解

    ### Spring Java注解、元注解与自定义注解详解 #### 一、Java注解简介 在深入了解Spring框架中的注解应用之前,我们首先需要对Java注解有一个基本的认识。Java注解(Annotation)是一种元数据,可以为程序代码添加...

    SpringMVC利用AOP实现自定义注解记录日志

    接下来,创建一个切面类,该类包含一个或多个通知方法,这些方法将在注解标记的方法执行前后被调用。下面是一个简单的切面示例: ```java @Aspect @Component public class LoggingAspect { @Around("@annotation...

    SSH注解小实例

    例如,`@Action` 注解用于标记一个方法作为处理请求的动作,`@Result` 注解则用来定义请求处理后的结果页面。 **Spring** 是一个全面的Java企业级应用框架,它支持依赖注入(DI)和面向切面编程(AOP)。在Spring中,...

    备忘录

    【标题】: "Java编程备忘录" 在Java编程领域,备忘录是开发者记录关键概念、技巧和问题解决方案的重要工具。以下是一些核心的Java知识点,这些内容可能包含在"MEMO-master"这个压缩包文件中: 1. **基础语法**:...

    使用Spring 2.5 基于注解驱动的 Spring MVC详解

    在 BbtForumController 中,我们使用 @RequestMapping 注解来标记 listAllBoard 方法,以便将其映射到 "/forum.do" URL 上。 使用 @Autowired 注解 @Autowired 注解用于将一个 Bean 注入到一个 Controller 中。在 ...

    ssh注解开发案例

    SSH注解开发是SSH框架中的一项重要技术,它允许开发者在不写XML配置的情况下进行开发,提高开发效率并减少配置错误。 标题“ssh注解开发案例”表明我们将探讨如何在SSH框架中使用注解进行开发。SSH框架通过注解可以...

Global site tag (gtag.js) - Google Analytics