springboot
文章平均质量分 77
Sai_BAN
这个作者很懒,什么都没留下…
展开
-
5.1 标注@ResponseBody的方法的返回值处理、内容协商ContentNegotiation、内容转换器HttpMessageConvert和媒体类型MediaType
适用场景基本介绍AbstractMessageConverterMethodProcessor是处理返回值的一种策略。他下面有两个子类。其中一个是RequestResponseBoydMethodProcessor,负责处理标有@ResponseBody注解的方法的返回值。返回值处理,说白了就是看我们提供的是什么类型的值,而浏览器能接受什么类型的值。然后通过内容协商进行转换。内容协商说白了,就是能够判断出浏览器需要什么值,并且我们的提供的值(比如Person类型的person)转成浏览器能接收的值原创 2021-03-18 12:54:07 · 537 阅读 · 0 评论 -
5.1 标注@ResponseBody的方法的返回值处理、内容协商ContentNegotiation、内容转换器HttpMessageConvert和媒体类型MediaType
适用场景基本介绍AbstractMessageConverterMethodProcessor是处理返回值的一种策略。他下面有两个子类。其中一个是RequestResponseBoydMethodProcessor,负责处理标有@ResponseBody注解的方法的返回值。返回值处理,说白了就是看我们提供的是什么类型的值,而浏览器能接受什么类型的值。然后通过内容协商进行转换。内容协商说白了,就是能够判断出浏览器需要什么值,并且我们的提供的值(比如Person类型的person)转成浏览器能接收的值原创 2021-03-18 12:49:07 · 905 阅读 · 0 评论 -
5. 处理方法返回值:HandlerMethodReturnValueHandler
调用时机在ServletInvocableHandlerMethod有个HandlerMethodReturnValueHandlerComposite但是参数解析是在InvocableHandlerMethod里被调用的。完成逻辑,SIHM调用父类的方法让父类IHM调用参数解析Composite去解析参数,然后doInvoke,把处理结果返回。 SIHM拿到结果之后调用 返回值处理Composite去处理返回值。HandlerMethodReturnValueHandler:接口继承关系可以原创 2021-03-18 12:45:44 · 627 阅读 · 0 评论 -
4.2 参数是自定义的POJO类:ModelAttributeMethodProcessor
使用场景继承关系行为:四个实现的方法,createAttribute()、bindRequestParameters()supportsParam(): 怎么判断是否支持?标注ModelAttribute,或者没有标注,但是这个参数不是简单属性。什么是简单属性resolveArgument(),很长,很复杂。底层会用到Convert会创建一个 WebDataBinder 实例。这个实例非常重要注意:他会产生两个不同的实例自定义Convert使用场景:Convert(原创 2021-03-18 12:42:48 · 766 阅读 · 0 评论 -
4.1 参数是Model、Map等类型:MapMethodProcessor类、ModelAndViewContainer
MapMethodProcessor:类属性:无行为:supportsParameter()、resolveArgument()是 处理方法参数解析器接口HandlerMethodArgumentResolver接口里的两个方法**。****supportsReturnType()、handleReturnValue()是 处理返回值接口**HandlerMethodReturnValueHandler接口里的两个方法。使用场景解析方式:从mavContainer里拿ModelMa原创 2021-03-18 12:39:27 · 613 阅读 · 0 评论 -
4. 方法参数解析:HandlerMethodArgumentResolver
1.DispatcherServlet属性:两个重要属性 – handler的映射和 handler的适配器操作:getHandler和doDispatch,最关键的就是doDispatch()getHandler():遍历所有的handlerMapping,让他们去拿handler,最后找到合适的handlerMapping,拿出handler链。doDispatch():根据request调用上面的方法(遍历所有handlerMapping,拿出handler链),最后得到handler链原创 2021-03-18 12:27:58 · 2178 阅读 · 0 评论 -
3. 方法和方法参数:HandlerMethod和MethodParamter
1.DispatcherServlet属性:两个重要属性 – handler的映射和 handler的适配器操作:getHandler和doDispatch,最关键的就是doDispatch()getHandler():遍历所有的handlerMapping,让他们去拿handler,最后找到合适的handlerMapping,拿出handler链。doDispatch():根据request调用上面的方法(遍历所有handlerMapping,拿出handler链),最后得到handler链原创 2021-03-18 12:27:06 · 1979 阅读 · 0 评论 -
2. DispatcherServlet、HandlerMapping、HandlerExectionChain
1.DispatcherServlet属性:两个重要属性 – handler的映射和 handler的适配器操作:getHandler和doDispatch,最关键的就是doDispatch()getHandler():遍历所有的handlerMapping,让他们去拿handler,最后找到合适的handlerMapping,拿出handler链。doDispatch():根据request调用上面的方法(遍历所有handlerMapping,拿出handler链),最后得到handler链原创 2021-03-18 12:25:13 · 670 阅读 · 1 评论 -
1. mvc自动配置:WebMvcAutoConfiguration
作用:静态资源目录、请求路径前缀、webjars、欢迎页,以及请求路径(request)里的参数解析过程rest风格(设置隐藏参数 _m传递PUT、DELETE)、矩阵变量(分号)request路径里参数有很多种形式,比如传统的 ?,以及后来的 rest风格。行为:hiddenHttpMethodFilter(),0.继承关系:有几个内部类(都是static型的)1.WebMvcAutoConfiguration2.内部类WebMvcAutoConfigurationAdapter**原创 2021-03-17 20:56:10 · 1683 阅读 · 0 评论 -
springboot基础入门
1.基础入门1、spring与springbootspringspring能做什么如下:微服务、响应式、云、web应用、无服务架构(类似java里的函数式编程)、批处理spring的生态具体请看链接https://spring.io/projects/spring-boot覆盖了:web开发、数据访问、安全控制、分布式、消息服务、移动开发、批处理spring5重大升级1.响应式编程左边响应式栈、右边Servlet栈2.内部源码设计更新基于Java8的一些新特性,spring也原创 2021-03-17 20:07:32 · 426 阅读 · 1 评论