`

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; } ``` 现在,我们可以使用反射机制来获取这个...

    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框架通过注解可以...

    spring中自定义注解(annotation)与AOP中获取注解

    在Spring框架中,自定义注解...自定义注解用于标记特定的行为或状态,而AOP则负责在运行时动态地响应这些标记,以执行相应的逻辑。这种模式在现代企业级应用开发中被广泛应用,极大地提高了代码的灵活性和可维护性。

    java 通过反射获取类上注解,方法上注解,注解里的值及方法参数

    在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境读取。反射(Reflection)是Java的一个强大特性,允许程序在运行时检查类、接口、字段和方法等...

Global site tag (gtag.js) - Google Analytics