自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YourBatman

专注Java领域分享、成长,拒绝浅尝辄止。公众号搜索:BAT的乌托邦

原创 ModelAndViewContainer、ModelMap、Model、ModelAndView详细介绍【享学Spring MVC】

前言 写这篇文章非我本意,因为我觉得对如题的这个几个类的了解还是比较基础且简单的一块内容,直到有超过两个同学问过我一些问题的时候:通过聊天发现小伙伴都听说过这几个类,但对于他们的使用、功能定位是傻傻分不清楚的(因为名字上都有很多的相似之处)。 那么书写本文就是当作一篇科普类文章记录下来,已经非常熟...

2019-08-28 23:13:40 395 0

原创 HandlerMethodArgumentResolver(三):基于HttpMessageConverter消息转换器的参数解析器【享学Spring MVC】

前言 第四类:基于ContentType 利用HttpMessageConverter将输入流转换成对应的参数 MvcUriComponentsBuilder解析 若多个都生效 会覆盖吗???值方面会被赋值多次吗? ...

2019-08-27 20:41:03 986 0

原创 ContentNegotiation内容协商机制(三)---在视图View上的应用:ContentNegotiatingViewResolver深度解析【享学Spring MVC】

Spring MVC内容协商配置ContentNegotiationConfigurer ContentNegotiationManagerFactoryBean 使用内容协商实现多视图例 ContentNegotiatingViewResolver 内容协商的应用 ResourceHttpReq...

2019-08-26 21:55:57 525 0

原创 ContentNegotiation内容协商机制(二)---Spring MVC内容协商实现原理及自定义配置【享学Spring MVC】

前言 上文 介绍了Http内容协商的一些概念,以及Spring MVC对此实现的4种方式使用介绍。那么本文基于自定义扩展的需求,先从步骤、原理层面理解,然后提供一个实力来扩展内容协商的方式。 ContentNegotiationStrategy 在说到Spring MVC支持的协商机制的时候,就不...

2019-08-26 15:59:46 752 0

原创 ContentNegotiation内容协商机制(一)---Spring MVC内置支持的4种内容协商方式【享学Spring MVC】

前言 你在使用Spring Boot过程中应该遇到这样一个现象:同一个接口,若你用rest访问(例如postman)报错,它返回给你的是一个json串;但若你用浏览器访问,它返回给你的是一段html交给浏览器渲染出来,比如下面例子: Http报头Accept与Content-Type的区别 co...

2019-08-25 17:44:12 1800 0

原创 HandlerMethodArgumentResolver(二):Map参数类型和固定参数类型【享学Spring MVC】

前言 上文 介绍了Spring MVC用于处理入参的处理器:HandlerMethodReturnValueHandler它的作用,以及介绍了最为常用的两个参数处理器子类:PathVariableMethodArgumentResolver和RequestParamMethodArgumentRe...

2019-08-22 15:52:27 2281 0

原创 HandlerMethodArgumentResolver(一):Controller方法入参自动封装器(将参数parameter解析为值)【享学Spring MVC】

前言 你是否曾经有过这样的疑问?在Controller方法入参中写HttpServletRequest、HttpSession、Writer…等参数,它自动就有值了然后可以直接使用,并且我们可以很方便的使用形如@PathVariable、@RequestParam、@RequestBody…等轻松...

2019-08-21 20:39:12 3201 0

原创 分组序列@GroupSequenceProvider、@GroupSequence控制数据校验顺序,解决多字段联合逻辑校验问题【享学Spring MVC】

前言 本以为洋洋洒洒把Java/Spring数据(绑定)校验这块说了这么多(10篇文章以上),已经完结了,但今天中午以为热心小伙伴在使用上遇到了一个问题,我认为还是比较常见的,因此用此为记录,分享这个case。 总体需求如题:多字段联合逻辑校验的实现。这个问题的难点就在于多字段联合校验,它是有相互...

2019-08-20 21:25:55 3276 22

原创 为何Spring MVC可获取到方法参数名,而MyBatis却不行?【享学Spring MVC】

前言 如题的问题,在我第一次使用MyBatis的时候我就产生了这样的疑问了,缘由是使用MyBatis接口方式去执行xml里的sql时,(若是平铺参数)接口方法的入参前必须标有注解@Param(value值是必填的),和Spring MVC比起来感觉它弱爆了,当时我也挺费解,终于今天,我可以解释这个...

2019-08-15 21:35:30 915 10

原创 异步事务?关于异步@Async + 事务@Transactional的结合使用问题分析【享学Spring MVC】

前言 如题,@Async你应该不陌生,@Transactional你更不陌生,如果单独拿来使用,我觉得应该木有不会的吧。本文不废话,主要分析一下他俩结合一起使用的case,因为相对常见并且有人还搞不明白的情况,所以想用此篇文章来聊聊 相较于@Transactional的使用,关于@Async的一些...

2019-08-09 17:26:30 4506 4

原创 从原理层面掌握@ModelAttribute的使用(使用篇)【享学Spring MVC】

前言 @ModelAttribute的作用 @ModelAttribute一个具有如下三个作用: 绑定请求参数到命令对象(入参对象):放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用; 暴露表单引用对象为模型数据:放...

2019-08-05 23:20:31 831 0

原创 从原理层面掌握HandlerMethod、InvocableHandlerMethod、ServletInvocableHandlerMethod的使用【享学Spring MVC】

前言 HandlerMethod它作为Spring MVC的非公开API,绝大多数小伙伴都对它比较陌生,但却又经常看见。比如Spring MVC的拦截器HandlerInterceptor的拦截方法的第三个入参Object handler,虽然它是Object类型,但其实绝大部分情况下我们都会当作...

2019-08-05 21:42:11 838 0

原创 从原理层面掌握@RequestAttribute、@SessionAttribute的使用【享学Spring MVC】

前言 据不完全统计,知道@RequestAttribute注解的更是少之又少了。首先是因为它很新:Spring4.3后才有;其实是因为它确实使用得较少(因为绝大部分情况下我们都用API方式可以完成),本文就带大家领略一下它的风骚之处 Spring提供的这些注解比如@ModelAttribute、...

2019-08-05 20:32:17 1844 0

原创 从原理层面掌握@ModelAttribute的使用(核心原理篇)【享学Spring MVC】

前言 Spring MVC提供的基于注释的编程模型,极大的简化了web应用的开发,我们都是受益者。比如我们在@RestController注解的组件上用@RequestMapping、@ExceptionHandler等注解来表示请求映射、异常处理等等。 使用这种注解的方式来开发控制器我认为最重要...

2019-08-05 16:02:47 1183 3

原创 从原理层面掌握@SessionAttributes的使用【享学Spring MVC】

前言 该注解顾名思义,作用是将Model中的属性同步到session会话当中,方便在下一次请求中使用(比如重定向场景~)。 虽然说Session的概念在当下前后端完全分离的场景中已经变得不那么十分重要了,但是我仍旧强烈不建议各位扔掉这个知识点~ @SessionAttribute 这个注解只能标注...

2019-08-04 20:23:19 810 2

原创 @Validated和@Valid的区别?教你使用它完成Controller参数校验(含级联属性校验)以及原理分析【享学Spring】

前言 上篇文章 介绍了Spring环境下实现优雅的方法级别的校验,上文埋下了一个伏笔:它在Spring MVC(也就是Controller层的应用),本文将继续讲解Spring MVC中对数据校验的使用。 可能有的小伙伴就会想到:这不一样吗?我们使用Controller就是方法级别的,所以它就是直...

2019-08-02 23:36:38 2984 4

原创 Bean Validation完结篇:你必须关注的边边角角(约束级联、自定义约束、自定义校验器、国际化失败消息...)【享学Spring】

前言 一般来说,对于web项目我们都有必要对请求参数进行校验,有的前端使用JavaScript校验,但是为了安全起见后端的校验都是必须的,因此数据校验不仅仅是在web下,在方方面面都是一个重要的点。前端校验有它的JS校验框架(比如我之前用的jQuery Validation Plugin),后端自...

2019-08-01 20:32:42 1328 3

提示
确定要删除当前文章?
取消 删除