avatar
文章
63
标签
36
分类
17

首页
时间轴
标签
分类
RQTN
首页
时间轴
标签
分类

RQTN

SpringBoot 异常处理机制详解
发表于2023-01-05|JavaSpringBoot|atguigu-springboot2•SpringBoot 异常处理机制
SpringBoot 异常处理机制详解异常处理自动配置类 ErrorMvcAutoConfigurationSpringBoot 异常处理的自动配置类是 ErrorMvcAutoConfiguration,本节将说明该自动配置类中配置了哪些重要组件,以及这些组件有什么作用。 概览在深入介绍 ErrorMvcAutoConfiguration 所注册的组件前,这里先做一个概览,主要介绍其中一些重要的组件。 BasicErrorController 错误处理控制器: 默认对 /error 错误请求进行处理并响应。 SpringBoot 各式各样的异常处理,最后都是发送 /error 请求,从而通过 BasicErrorController 中的两个处理器来响应错误页面或者响应错误数据。除非你自定义了 ErrorController 类并注册到容器中。 DefaultErrorAttributes 默认错误属性: 主要功能是规定了错误处理最后对外响应,应该响应哪些信息,比如规定了,要响应时间戳,状态码,错误信息,错误堆栈等,无论是响应错误页面还是响应错误数据。 Defaul ...
HttpMessageConverter 自动配置过程分析
发表于2022-12-29|JavaSpringBoot|atguigu-springboot2•SpringBoot 消息转换器
HttpMessageConverter 自动配置过程分析第一步:所有 WebMvcConfigurer 实现类注册到 Spring 容器中一般来说,容器中至少会会注册 WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter 这个实现类。 如果有 SpringMVC 定制化的需求,那么我们自己实现的 WebMvcConfigurer 也会注册到容器中,从而 Spring 容器中包含多个 WebMvcConfigurer 实现类。 第二步:WebMvcAutoConfiguration$EnableWebMvcConfiguration 自动装配其父类 DelegatingWebMvcConfiguration 属性 configurersDelegatingWebMvcConfiguration 的 configurers 属性是 WebMvcConfigurerComposite 类型,该属性被配置为自动装配: 123456789101112131415@Configuration(proxyBeanMethods = false ...
自定义类型参数的数据绑定源码分析
发表于2022-12-23|JavaSpringBoot|atguigu-springboot2•SpringBoot 请求处理
自定义类型参数的数据绑定源码分析 关于自定义类型参数的参数解析场景,SpringMVC处理请求源码分析 —— part2 场景分析 > 2. 表单提交 > 2.1 源码分析 已经讲得非常清晰了,下面主要是对该博客中的内容做一些补充。 前端页面表单: 12345678<form action="/saveuser" method="post"> 姓名:<input name="userName" value="zhangsan"/> <br/> 年龄:<input name="age" value="18"/> <br/> 生日:<input name="birth" value="2019/12/10"/> <br/> 宠物姓名:<input name="pet.name" valu ...
PathVariable 的参数解析场景
发表于2022-12-20|JavaSpringBoot|atguigu-springboot2•SpringBoot 请求处理
@PathVariable 的参数解析场景 本文对 @PathVariable 的参数解析场景进行了详细的源码分析,希望通过该具体场景,帮助理解以下内容: SpringMVC 请求处理的参数解析的大致流程 请求映射 RequestMappingHandlerMapping 的工作原理 处理器适配器 RequestMappingHandlerAdapter 的工作原理 数据绑定器 WebDataBinder 中的转换服务 ConversionService 的工作原理 本文参考:SpringMVC处理请求源码分析 —— part2 场景分析 > 1. @PathVariable 浏览器请求是:GET /car/3/owner/lisi Controller 处理器定义是: 123456@ResponseBody@GetMapping("/car/{id}/owner/{username}")public Map<String, Object> getCar(@PathVariable("id&q ...
好文收录 - SpringMVC 处理请求源码分析 —— part1 整体流程
发表于2022-12-19|JavaSpringBoot|atguigu-springboot2•SpringBoot 请求处理•好文收录
好文收录 - SpringMVC 处理请求源码分析 —— part1 整体流程 原文链接:http://www.coderzoe.com/archives/28/ 本文主要讲SpringMVC处理HTTP请求的流程,本篇笔记的部分内容源自尚硅谷的雷丰阳老师。但笔者在学习过程中发现雷丰阳老师源码虽然讲的非常棒,但缺少对整体架构或者概览的把握,这点导致很多同学在学习时过于深入细节,最后一头雾水。因此笔者写下本篇笔记,想从简到繁,比较清晰的捋一下SpringMVC处理请求的大体源码过程。 本文力求深入浅出,尽量少的大幅贴源码,先从大概流程再到具体细节这样的过程来讲解。 笔记将会分为三部分:整体流程源码分析、具体场景源码分析和额外补充功能分析。 本篇笔记是第一部分,整体流程的源码分析,想先让大家对SpringMVC执行的整体流程有个概念。 本篇笔记适合有一定SpringMVC基础的同学,至少知道常用注解如@ResponseBody,@RequestBody的功能,以及ModelAndView,Model,Map等类的作用。 本篇笔记的SpringBoot版本是2.7.2。 @author co ...
SpringBoot 的自动配置原理
发表于2022-12-15|JavaSpringBoot|atguigu-springboot2•SpringBoot 自动配置
SpringBoot 的自动配置原理课程在讲解 SpringBoot 的自动配置原理时,@ComponentScan 中默认的两个过滤器没有深入讲解,@AutoConfigurationPackage 的作用讲解得有问题,因此这里做一个扩展和订正。 @ComponentScan 中的两个过滤器有什么用?@SpringBootApplication 注解是 @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan 三个注解的组合/合成注解,如下: 123456789@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExclu ...
Configuration 的 proxyBeanMethods 属性与 Bean 方法
发表于2022-12-10|JavaSpringBoot|atguigu-springboot2
@Configuration 的 proxyBeanMethods 属性与 @Bean 方法@Configuration 注解所标注的配置类中,我们常常使用 @Bean 标注来方法向 IoC 容器中注册组件。 @Configuration 的 proxyBeanMethods 属性用来控制是否对 @Bean 方法进行代理。 如果 proxyBeanMethods = true,那么 Spring 会将 @Configuration 所标注的配置类作为目标类来生成相应的代理类,最后将代理类注册到容器中。 类中的 @Bean 方法均被加上一层代理,此时向 IoC 容器中注册组件的具体逻辑,是在 @Bean 方法的代理的后置增强中完成。 无论是 Spring 为了注册组件去调用 @Bean 方法,还是用户代码中去主动调用 @Bean 方法,所调用的都是代理方法,需要经过增强代码处理。 前置增强:尝试从 IoC 容器中获取类型为 @Bean 方法返回值类型的对象,如果能够获取到,则直接返回 IoC 容器中的相应对象,如果获取不到执行目标方法。 目标方法:就是我们自己编写的 @Bean 方 ...
SSM 整合 - Spring 与 MyBatis 的整合细节
发表于2022-12-05|JavaSpringMVCMybatis|atguigu-springmvc•Mybatis 接口代理机制
SSM 整合 - Spring 与 MyBatis 的整合细节先列出 Spring 与 Mybatis 整合后,Spring 的配置文件内容: 1234567891011121314151617181920212223242526272829303132333435363738394041424344<?xml version="1.0" encoding="UTF-8"?><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:tx="http://www.springframework.org/schema/tx" ...
HttpMessageConverter - 响应中文内容乱码问题
发表于2022-11-23|JavaSpringMVC|乱码•atguigu-springmvc
HttpMessageConverter - 响应中文内容乱码问题在讲解 @ResponseBody 注解时,我们测试了四种响应数据到浏览器的情况: 超链接发起请求,服务器通过 Servlet API 的 response 对象响应字符串到浏览器 超链接发起请求,服务器使用 @ResponseBody 响应字符串到浏览器 超链接发起请求,服务器使用 @ResponseBody 响应一个 Java 对象到浏览器 Axios 发起 Ajax 请求,服务器使用 @ResponseBody 响应字符串到浏览器 当响应数据中包含中文内容时,前两种会出现中文内容乱码现象! 为什么 CharacterEncodingFilter 没有作用?还记得,在 web.xml 中曾经配置了一个 CharacterEncodingFilter,如下: 12345678910111213141516<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org ...
HttpMessageConverter - @RequestBody 和 @ResponseBody 是如何简化开发的
发表于2022-11-23|JavaSpringMVC|atguigu-springmvc
HttpMessageConverter - @RequestBody 和 @ResponseBody 是如何简化开发的使用 SpringMVC 提供 @RequestBody 和 @ResponseBody 注解可以简化开发。 @RequestBody 简化了哪些流程Html 标签 123<div id="app"> <button @click="jsonRequestBody">发送 JSON 请求体</button></div> Vue + axios 代码:12345678910111213141516171819new Vue({ el: "#app", methods: { jsonRequestBody: function () { axios({ "method": "post", ...
123…7
avatar
RQTN
文章
63
标签
36
分类
17
Follow Me
最新文章
MVCC - undo log 版本链数据访问规则2023-06-27
synchronized 原理2023-05-04
好文收录 - 死磕Synchronized底层实现--重量级锁2023-04-28
好文收录 - 死磕Synchronized底层实现--轻量级锁2023-04-27
好文收录 - 死磕Synchronized底层实现--偏向锁2023-04-26
分类
  • AI1
  • Data Structure & Algorithm6
  • Java32
    • JUC6
    • JavaSE4
    • JavaWeb1
    • Mybatis6
    • Spring1
标签
设计模式 隔离级别 atguigu-springboot2 浮点数 Mybatis 接口代理机制 SpringBoot 自动配置 Java Socket 编程 atguigu-javaweb princeton-algs4 javassist SpringBoot 请求处理 好文收录 itheima-mysql laodu-spring6 mit-18.06 itheima-juc laodu-mybatis atguigu-springmvc 静态代理/动态代理 JNDI SpringBoot 消息转换器 hsp-javase synchronized SpringBoot 异常处理机制 Sentinel Canal TCC 分布式事务 GodBatis MVCC 循环依赖 原码/反码/补码 itheima-springcloud 多级缓存 坦克大战 八皇后问题 乱码
归档
  • 六月 20231
  • 五月 20231
  • 四月 20235
  • 三月 20233
  • 一月 20231
  • 十二月 20227
  • 十一月 20224
  • 十月 20225
网站资讯
文章数目 :
63
本站总字数 :
200.1k
最后更新时间 :
©2019 - 2024 By RQTN
框架 Hexo|主题 Butterfly