Spring—ApplicationEvent事件驱动机制
说到事件驱动,一直就有一个不解的疑问:它和我们老生长谈的一些概念比如:【观察者模式】【发布订阅模式】【消息队列MQ】【消息驱动】【EventSourcing】等等是一回事吗? JDK中的事件驱动机制 …
SpringMVC—Web九大组件之HandlerExceptionResolver异常处理器
Java异常体系简介 Java相较于其它大多数语言提供了一套非常完善的异常体系Throwable:分为Error和Exception两大分支: Error:错误,对于所有的编译时期的错误以及系统错误都…
SpringMVC—ModelAndViewContainer、ModelMap、Model、ModelAndView、@ModelAttribute、@SessionAttribute等
对于这几个类,总是经常的分不清楚他们的作用和关系,比较混乱,这次就好好整理一下对这几个类的内容。 ModelAndViewContainer 我把这个类放在首位,是因为相较而言它的逻辑性稍强一点,并且…
SpringMVC—Web九大组件之ViewResolver
我们知道,当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理。接着它会根据请求的URL经过HandlerMapping处理,匹配上…
SpringMVC—ContentNegotiation内容协商机制
在使用Spring Boot时是否对这样一个现象"诧异"过:同一个接口(同一个URL)在接口报错情况下,若你用rest访问,它返回给你的是一个json串;但若你用浏览器访问,它返回给你的是一段html…
SpringMVC—HandlerMethodArgumentResolver参数处理器
在享受Spring MVC带给你便捷的时候,你是否曾经这样疑问过:Controller的handler方法参数能够自动完成参数封装(有时即使没有@PathVariable、@RequestParam、…
SpringMVC—HandlerAdapter—HttpMessageConverter消息转换器
本文介绍Spring MVC中的一个极其重要的组件:HttpMessageConverter消息转换器。 有一副非常著名的图,来形容Spring MVC对一个请求的处理: 从图中可见HttpMessa…
SpringMVC—HandlerMethodReturnValueHandler返回值处理器
在前面的讲过HandlerAdapter的内容,里面有关于返回值处理器的初始化,还有之前的统一处理返回结果也是这个接口。 http://www.enmalvi.com/2022/10/02/sprin…
SpringMVC—Web九大组件之HandlerAdapter
如果说理解了HandlerMapping相当于掌握了Spring MVC的1/3,那么若你继续理解了HandlerAdapter(以及它的相关组件),那几乎可以说你就理解了它剩下的2/3了。 Hand…
Spring—AutowireCapableBeanFactory依赖注入
不可否认的是,把Bean交给Spring管理,确实极其的方便,优点一大把,并且还几乎没有啥缺点。这也就是为何咱们一言不合就把Bean扔给Spring的原因。(在Spring的技术栈里这么做,完全没有问…
SpringMVC—Web九大组件之HandlerMapping
之前已经大概介绍过web九大组件,本文将聚焦于Spring MVC中最重要的一个组件:HandlerMapping展开讨论 在最早之前也是学过HandlerMapping的,不过那时候是粗浅学习 ht…
SpringBoot—统一API接口响应格式
实现统一 API 接口响应格式的方式有很多的,比如之前的ResponseBodyAdvice 和 RequestBodyAdvice,比如拦截器等,但是这里使用的不是这些而是从返回处理器中去自定义,H…
SpringBoot—自定义参数解析器
在一个 Web 请求中,参数我们无非就是放在地址栏或者请求体中,个别请求可能放在请求头中。 放在地址栏中,我们可以通过如下方式获取参数: String name = request.getParame…
SpringMVC—工作机制和请求生命周期
在学习后面的webFlux时,还需要回过来了解一下MVC,不然会有很多的疑惑,因为MVC中也是存在着类似于响应式的方式。 既然要从头看看MVC,那么就看最原始的地方开始,了解一下MVC的整个执行过程。…
SpringMVC—PathPattern路径模式
Spring5 也已经出来好久了,里边有一些新玩法也需要我们去慢慢揭开面纱,最近在看 SpringMVC 源码的时候,就看到这样一段代码: /** * Initialize the path to u…
Spring—异步Servlet
我们日常使用的 SpringMVC,基本上都不是异步 Servlet,而学习 WebFlux,异步 Servlet 是基础。 什么是异步 Servlet 先来说说什么是非异步 Servlet。 在 S…
Spring—异步Http
前置概念 虽然现在看看Spring的异步模式看起来有点老,毕竟现在都Spring5的时代了,甚至将来肯定是webflux的时代,但是不可否认的是现在Servlet 仍然是主流,目前都是Servlet3…
SpringMVC—URI Builder模式(UriComponents/UriComponentsBuilder)
URI Builder Spring MVC作为一个web层框架,避免不了处理URI、URL等和HTTP协议相关的元素,因此它提供了非常好用、功能强大的URI Builder模式来完成,这就是本文重点…
SpringBoot—AntPathMatcher匹配原则和含义
在使用spring security做登陆鉴权。登陆界面相关CSS和JS,以及部分api接口需要忽略,于是代码中用到了anyMatchers。 @Override public void config…
SpringMVC—Ajax结合
简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。…
SpringMVC中@RestController和@Controller的区别
在使用SpringMVC时,对于Controller中的注解@RestController和@Controller需要我们区分清楚 @RestController注解相当于@ResponseBody和…
整合SSM框架
整合SSM 环境要求 环境: IDEAMySQL 5.7.19Tomcat 9Maven 3.6 要求: 需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识…
SpringMVC笔记—乱码问题(补充)
测试步骤: 1、我们可以在首页编写一个提交的表单 <form action="/e/t" method="post"> <input type…
SpringMVC笔记—数据显示到前端(补充)
数据显示到前端 第一种 : 通过ModelAndView 我们前面一直都是如此 . 就不过多解释 public class ControllerTest1 impleme…
Spring Data Redis 使用(SSM版)
Spring Data Redis 介绍 Spring Data Redis 是 Spring 官方推出,可以算是 Spring 框架集成 Redis 操作的一个子框架,封装了 Redis 的很多命令…
Spring Boot 中自定义 SpringMVC 配置,到底继承谁?
用过 Spring Boot 的人都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,…
SpringMVC笔记17—拦截器
SpringMVC 中的拦截器,相当于 Jsp/Servlet 中的过滤器,只不过拦截器的功能更为强大。 拦截器的定义非常容易: @Component public class MyIntercept…
SpringMVC笔记16—静态资源访问
在 SpringMVC 中,静态资源,默认都是被拦截的,例如 html、js、css、jpg、png、txt、pdf 等等,都是无法直接访问的。因为所有请求都被拦截了,所以,针对静态资源,我们要做额外…
SpringMVC笔记15—RESTful
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种”互联网软件”采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,…
SpringMVC笔记14—JSON
一、返回JSON 目前主流的 JSON 处理工具主要有三种: jacksongsonfastjson 在 SpringMVC 中,对 jackson 和 gson 都提供了相应的支持,就是如果使用这两…