springmvc注解

SpringMVC自定义绑定参数、及Controller增强处理

被刻印的时光 ゝ 提交于 2019-12-09 02:14:22
在基于SpringMVC的WEB服务开发过程中,经常会遇到如入参解密、返参加密这样的过程,这个过程可能需要很多代码可能只需要一行调用,但是每个Controller都需要调用这样一个方法就可能会感觉繁琐,而且不利于主要业务代码阅读,有时会影响项目架构。本文通过一个小案例,基于Spring AOP思想来解决类似这样的问题,希望能起到举一反三的作用,在开发过程中能够解决一些问题、减小代码的重复,用最少的代码完成功能。 SpringMVC的基本过程 使用SpringMVC时,所有的请求都是最先经过DispatcherServlet的,然后由DispatcherServlet选择合适的HandlerMapping和HandlerAdapter来处理请求,HandlerMapping的作用就是找到请求所对应的方法,而HandlerAdapter则来处理和请求相关的的各种事情,比如参数如何绑定到@RequestMapping的方法中,参数如何返回到Model中等。 SpringMVC Controller参数解析是由 RequestMappingHandlerAdapter 类进行处理的,这个类通过一个List维护不仅维护了SpringMVC自带的参数解析方法,同时也支持用自定义的参数解析器。SpringMVC通过查询List中的解析器,如果找到一个能支持解析的对象

SpringMVC中几个常用注解的用法

寵の児 提交于 2019-12-09 02:12:33
一、@Controller 以前在编写Controller方法的时候,需要开发者自定义一个Controller类实现Controller接口,实现handleRequest方法返回ModelAndView。并且需要在Spring配置文件中配置Handle,将某个接口与自定义Controller类做映射。 这么做有个复杂的地方在于,一个自定义的Controller类智能处理一个单一请求。而在采用@Contoller注解的方式,可以使接口的定义更加简单,将@Controller标记在某个类上,配合@RequestMapping注解,可以在一个类中定义多个接口,这样使用起来更加灵活。 被@Controller标记的类实际上就是个SpringMVC Controller对象,它是一个控制器类,而@Controller注解在org.springframework.stereotype包下,其中被@RequestMapping标记的方法会被分发处理器扫描识别,将不同的请求分发到对应的接口上。 扫描@Controller: <context:component-scan base-package="com.sunhui.ssm.controller"/> base-package:包的路径。意思就是,启动了报扫描功能,将com.sunhui.ssm

Spring MVC 的常用注解

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-09 02:11:16
众所周知,Spring是从2.5版本开始引入注解的,常见的注解有:@Controller、@RequestMapping、@RequestParam和@ModleAttribute等类似这样的注解。目前,Spring的版本已经发生了很大的变化,但注解的特性却一直延续下来,并不断扩展,让很多开发者的工作变的更轻松,这都离不开Annotation的强大作用。本文将详细总结Spring MVC常用的8个注解。 本项目源代码下载: Spring MVC常用注解 @Controller注解 @Controller注解是在Spring的org.springframework.stereotype包下,org.springframework.stereotype.Controller注解类型用于指示Spring类的实例是一个控制器,使用@Controller注解的类不需要继承特定的父类或者实现特定的接口,相对之前的版本实现Controller接口变的更加简单。而Controller接口的实现类只能处理一个单一的请求动作,而@Controller注解注解的控制器可以同时支持处理多个请求动作,使程序开发变的更加灵活。 @Controller用户标记一个类,使用它标记的类就是一个Spring MVC Controller对象,即:一个控制器类

SpringMvc常用注解详解

坚强是说给别人听的谎言 提交于 2019-12-09 02:10:34
1、@RequestMapping RequestMapping是一个用来处理请求地址映射的注解(将请求映射到对应的控制器方法中),可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。 RequestMapping请求路径映射,如果标注在某个controller的类级别上,则表明访问此类路径下的方法都要加上其配置的路径;最常用是标注在方法上,表明哪个具体的方法来接受处理某次请求。 @Controller @RequestMapping( value = "/book" ) public class BookController { @RequestMapping( value = "/title" ) public String getTitle (){ return "title" ; } @RequestMapping( value = "/content" ) public String getContent (){ return "content" ; } } 由于BookController类加了value=”/book”的@RequestMapping的注解,所以相关路径都要加上”/book”,即请求的url分别为: (1) http://localhost:8080/book/title (2) http://localhost:8080

springmvc常用注解标签详解

坚强是说给别人听的谎言 提交于 2019-12-09 02:09:35
1、@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。 @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。单单使用

SpringMVC——SpringMVC简介、SpringMVC入门程序、返回值类型、参数绑定

梦想的初衷 提交于 2019-12-09 02:09:14
说明:部分内容节选网络,只做学习总结使用,侵删 文章目录 SpringMVC简介 什么是Spring MVC ? SpringMVC工作原理 系统分层 SpringMVC五大组件 SpringMVC具体工作流程 Controller和Handler的区别? SpringMVC入门程序 @Controller和@RequestMapping 步骤 Controller方法的返回值类型 Controller返回值类型是ModelAndView Controller返回值类型是String 请求转发 重定向 返回逻辑视图名 Controller返回值类型是void 转发与重定向 实体类对象解析为JSON数据返回 参数绑定 Servlet默认的数据类型 Model或者ModelMap java基础数据类型、java基础数据的封装类型、String类型 JavaBean JavaBean的封装类型 java数组类型 SpringMVC不支持类表类型的参数绑定 SpringMVC简介 什么是Spring MVC ? Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,它是Spring的一部分,它和Struts2一样都属于表现层的框架。 MVC(Model模型 View 视图 Controller 控制器):这是一种软件架构思想,是一种开发模式

springMVC简介与原理

半世苍凉 提交于 2019-12-09 02:08:31
springMVC简介 springMVC和struts2都属于表示层框架,它是spring框架的一部分 springMVC配置文件约束 <beans xmlns= "http://www.springframework.org/schema/beans" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:context= "http://www.springframework.org/schema/context" xmlns:aop= "http://www.springframework.org/schema/aop" xmlns:mvc= "http://www.springframework.org/schema/mvc" xmlns:tx= "http://www.springframework.org/schema/tx" xsi:schemaLocation= " http: //www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http: //www.springframework.org/schema/tx http://www

Marco's Java【SpringMVC入门(一) 之 SpringMVC简介】

ぐ巨炮叔叔 提交于 2019-12-09 02:07:09
前言 在系统的讲解了SSM三兄弟的Spring大哥和Mybatis三弟之后,我们本篇章重点来了解排行第二的SpringMVC,那按照老规矩,先做个自我介绍吧~ 什么是SpringMVC 我们先来看一张比较经典的图,我们发现SpringMVC是被分割到Web中的,那么他和Web开发肯定是有着某种关联的 SpringMVC的全称是Spring Model-View-Controller,从名字上不难看出两点 第一点,他和Spring是亲兄弟,可见Spring家族是多么庞大! 第二点,从Model-View-Controller看出,它包揽了从模型到视图到控制层面的所有支配管理任务,细节上由Spring和Mybatis管理,SpringMVC的地盘就是Servlet,那么它的功能主要就涉及到Servlet和页面的信息传输,因此,这个节点也是不可或缺的。 接下来我们看看关于SpringMVC的概述吧~ 概述: Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。 Spring MVC(车子)主要由DispatcherServlet

SpringMVC之组合注解@GetMapping

天涯浪子 提交于 2019-12-09 02:04:10
Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。 以@GetMapping为例,Spring官方文档说: @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。 Difference between @GetMapping & @RequestMapping: @GetMapping does not support the consumes attribute of @RequestMapping. 返回 JavaEEWeb开发系列导航 转自:http://blog.csdn.net/webzhuce/article/details/53319468 来源: CSDN 作者: 微风--轻许-- 链接: https://blog.csdn.net/u011314442/article/details/79018548

SpringMVC常用注解

久未见 提交于 2019-12-09 02:03:55
1.RequestParam 使用说明 使用示例 理解:这个注解就是规定请求体中是否必须有注解里配置的key值。value + required 2. RequestBody 使用说明 使用示例 理解:RequestBody这个注解其实就是把请求的请求体内容赋给所注解的形参。因为 get是没有请求体的,所有要注意required 值的设置,默认是true,也就是有请求体。 3. PathVaribale 使用说明,(REST风格URL可以看下期) 使用示例 理解:这个注解表示的提供一个占位符,这个占位符在url 中,/user/{ id }, HTTP 协议操作方式Delete 原本传入形参是这样的,/user/delete?id={ id },这种注解就让的请求到delete 的controller 类变得更加灵活。 4.RequestHeader 使用说明 使用示例 理解:简简单单 就是设置请求头的key,取出对应的value,required:是否必须有此消息头。 5.CookieValue 使用说明 使用示例 理解:设置value值,将值赋给形参,required:是否必须有此 cookie。 6.ModelAttribute 使用说明 基于 POJO 属性的基本使用示例 基于 Map 的应用场景示例 1:ModelAttribute 修饰方法带返回值 当前端请求这个方法时