![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springmvc
胡峻峥
快乐的程序员
展开
-
SpringMvc @Validated注解执行原理
@Validated和@Valid对比Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。在检验Controller的入参是否符合规范时,使用@Validated或者@Val...原创 2020-03-25 23:39:02 · 2406 阅读 · 0 评论 -
Springboot源码——应用程序上下文分析
前两篇(Spring MVC源码——Root WebApplicationContext和Spring MVC源码——Servlet WebApplicationContext)讲述了springmvc项目创建上下文的过程,这一篇带大家了解一下springboot项目创建上下文的过程。SpringApplication引导类SpringApplication类用于启动或者引导spr...原创 2019-05-13 01:18:16 · 353 阅读 · 0 评论 -
Spring MVC源码——Servlet WebApplicationContext
上一篇笔记(Spring MVC源码——Root WebApplicationContext)中记录了下 Root WebApplicationContext 的初始化代码.这一篇来看 Servlet WebApplicationContext 的初始化代码DispatcherServlet是另一个需要在web.xml中配置的类, Servlet WebApplicationContex...转载 2019-05-07 13:24:03 · 145 阅读 · 0 评论 -
Spring MVC源码——Root WebApplicationContext
Spring MVC源码——Root WebApplicationContext 打算开始读一些框架的源码,先拿 Spring MVC 练练手,欢迎点击这里访问我的源码注释, SpringMVC官方文档一开始就给出了这样的两段示例: public class MyWebApplicationInitializer implements WebApplicationInitial...转载 2019-05-06 22:57:26 · 1755 阅读 · 0 评论 -
Spring BPP中优雅的创建动态代理Bean
一、前言 本文章所讲并没有基于Aspectj,而是直接通过Cglib以及ProxyFactoryBean去创建代理Bean。通过下面的例子,可以看出Cglib方式创建的代理Bean和ProxyFactoryBean创建的代理Bean的区别。二、基本测试代码 测试实体类,在BPP中创建BppTestDepBean类型的代理Bean。@Componentpublic stat...原创 2019-03-03 00:55:05 · 211 阅读 · 0 评论 -
SpringSecurity整合JWT
一、前言 最近负责支付宝小程序后端项目设计,这里主要分享一下用户会话、接口鉴权的设计。参考过微信小程序后端的设计,会话需要依靠redis。相关的开发人员和我说依靠Redis并不是很靠谱,redis在业务高峰期不稳定,容易出现问题,总会出现用户会话丢失、超时的问题。之前听过JWT相关的设计,决定尝试一下。二、什么是JWT JSON Web Token(JWT)是一个开放标准(RFC ...原创 2019-01-19 23:55:59 · 1079 阅读 · 0 评论 -
SpringMvc接口中转设计(策略+模板方法)
一、前言 最近带着两个兄弟做支付宝小程序后端相关的开发,小程序首页涉及到很多查询的服务。小程序后端服务在我司属于互联网域,相关的查询服务已经在核心域存在了,查询这块所要做的工作就是做接口中转。参考了微信小程序的代码,发现他们要么新写一个接口调用,要么新写一个接口包裹多个接口调用。这种方式不容易扩展。由于开发周期比较理想,所以决定设计一个接口中转器。二、接口中转器整体设计 ...原创 2019-01-10 18:43:34 · 839 阅读 · 0 评论 -
高效使用hibernate-validator校验框架
一、前言 高效、合理的使用hibernate-validator校验框架可以提高程序的可读性,以及减少不必要的代码逻辑。接下来会介绍一下常用一些使用方式。二、常用注解说明限制 说明 @Null 限制只能为null @NotNull 限制必须不为null @AssertFalse 限制必须为false @AssertTrue 限制必须为tr...原创 2018-11-13 19:15:42 · 1224 阅读 · 0 评论 -
springmvc controller动态设置content-type
springmvc RequestMappingHandlerAdapter#invokeHandlerMethod 通过ServletInvocableHandlerMethod#invokeAndHandle调用目标方法,并处理返回值。 如果return value != null,则通过returnvalueHandlers处理,内部会调用MessageConverter...原创 2018-11-10 11:15:37 · 9249 阅读 · 0 评论 -
Springmvc借助SimpleUrlHandlerMapping实现接口开关功能
一、接口开关功能 1、可配置化,依赖配置中心 2、接口访问权限可控 3、springmvc不会扫描到,即不会直接的将接口暴露出去二、接口开关使用场景 和业务没什么关系,主要方便查询系统中的一些状态信息。比如系统的配置信息,中间件的状态信息。这就需要写一些特定的接口,不能对外直接暴露出去(即不能被springmvc扫描到,不能被swagger扫描到)。三、Simple...原创 2018-11-04 00:00:18 · 645 阅读 · 0 评论