前言本文将探讨在SpringBoot中的线程问题。Controller是线程安全的吗?如果我们想在用户请求时,开辟新的异步任务,该如何操作? 原文地址:https://xuedongyun.cn/post/59240/ Controller线程安全首先我们先测试一下Controller的线程问题。我们在Controller中创建成员变量,并在请求中对它进行更改(请注意,这是非常规操作,请勿在...
前言在本文中,将探讨DispatcherServlet是怎样被注册到SpringBoot中的 原文地址:https://xuedongyun.cn/post/19203/ 注册进容器的原理DispatcherServletAutoConfiguration在SpringBoot的web模块中,有DispatcherServletAutoConfiguration这个自动配置类 123456@...
前言本文是《MySQL必知必会》的总结笔记,可以用于快速查询MySQL基本操作。其中一些不常用的命令被略过,可以另行学习。原文地址:https://xuedongyun.cn/post/16749/ 基本概念梳理表(table) 列(column) 行(row) 主键(primary key) SQL(Structured Query Language) MySQL简介 一种DBMS(数据库...
前言在SpringBoot/SpringMVC中,拦截器有三个方法 applyPreHandle(前置操作,目标方法执行前) applyPostHandle(后置操作,目标方法执行后) triggerAfterCompletion(最终操作,渲染结束后) 正常情况下,会顺序执行所有前置操作,逆序执行所有后置操作,逆序执行所有最终操作。 如果中间被拦截,会顺序执行所有前置操作,直至被拦截,...
前言在SpringBoot/SpringMVC中,我们在@ResponseBody注解标注的Controller中直接返回对象,即可为请求返回所需类型的返回值(比如json格式)。本文就来谈谈返回值处理器的原理。 原文地址:https://xuedongyun.cn/post/44248/ 返回值处理器原理RequestMappingHandlerAdapter有关参数解析的原理,可以查看我...
前言在SpringBoot/SpringMVC中,我们能在Controller中解析出请求的参数。除了一些基本类型之外,我们还可以使用一些复杂类型,诸如: 1234@PostMapping("/hello")String hello(User user){ } 本文根据SpringBoot源码谈谈其背后的原理,文中SpringBoot版本号为2.7.5。 原文地址:https://x...
前言在SpringBoot/SpringMVC中,我们能在Controller中解析出请求的参数,本文谈一谈其背后的原理。本文中SpringBoot版本号为2.7.5。 原文地址:https://xuedongyun.cn/post/13517/ 参数解析原理DispatcherServlet之前的文章已经提到,DispatcherServlet的核心方法是doDispatch。在doDis...
前言在SpringBoot/SpringMVC中,请求映射是一个很重要的概念。众所周知,应用中实际上只有一个DispatcherServlet处理所有请求,再交由对应的处理器来处理。本文中SpringBoot版本号为2.7.5。 原文地址:https://xuedongyun.cn/post/15349/ 请求映射原理FrameworkServlet我们知道在SpringMVC中,所有的请求...
前言WebMvcAutoConfiguration中有一些常用的与静态资源相关的配置项,本文回顾一下其中原理。本文中SpringBoot版本号为2.7.5。 原文地址:https://xuedongyun.cn/post/3386/ 静态资源配置原理WebMvcAutoConfigurationSpringBoot启动会自动加载WebMvcAutoConfiguration类。(具体原因可以...
前言在SpringBoot项目中的主类上标注@SpringBootApplication注解,便可实现基本的自动配置功能。本文通过源码了解其背后的原理。本文中SpringBoot版本号为2.7.5。 原文地址:https://xuedongyun.cn/post/50220/ @SpringBootApplication的构成@SpringBootApplication注解是一个复合注解,核...