Spring系列
文章平均质量分 77
luffysk
这个作者很懒,什么都没留下…
展开
-
SpringBoot笔记-web篇-所有的请求响应类型及原理
本篇研究一下SpringBoot是怎么处理业务方法返回的数据1.所有支持的返回类型和参数解析类似,SpringBoot在真正执行方法之前会将Spring容器中默认注册的返回值处理器获取到,由图可以看到共有15种返回值处理器,由于请求方法所在的类由@RestController标记,因此对应的解析类为RequestResponseBodyMethodProcessor当方法执行完毕获取到返回值后,就会调用设置好的返回值处理器处理返回的结果2.选择相应处理器的过程该过程是在handleReturn原创 2021-04-24 21:42:21 · 357 阅读 · 0 评论 -
SpringBoot笔记-web篇-所有的请求参数注解及原理
本次来研究一下前端传递的请求是怎么封装到后台中的,根据后台请求方法的参数不同,对应的封装逻辑也不同,本次以@RequestBody为例开始研究1.后台接收参数的方式我们希望将前端传递的参数封装到TestObj类的name和age字段中,在后续使用中直接使用参数传递的对象即可@RequestMapping("/hello")public String hello(@RequestBody TestObj obj) { return "hello world " + obj.getName()原创 2021-04-21 23:21:00 · 300 阅读 · 0 评论 -
SpringBoot笔记-web篇-查找请求业务方法的过程
通过前文可知,getHandler方法会获取到业务代码所在的实际类,那么这个方法到底是怎么执行的呢1.返回结果从图中可以看到方法执行完成后并不是直接返回了对应类的对象,而是返回了一个HandlerExecutionChain查看其结构可以发现,它是由handler对象和拦截器集合对象组成2.获取handler该方法内部很简单,就是不断的遍历handlerMappings集合,并调用对应对象的getHandler方法,如果不为空则会返回在getHandler内部经过一系列跳转后会调用getH原创 2021-04-19 22:26:13 · 225 阅读 · 0 评论 -
SpringBoot笔记-web篇-一次web请求的大体流程
一个http请求从客户端发起,经服务器处理后返回结果给客户端,本次聚焦于服务器处理过程,搞清楚SpringMvc处理请求的整个过程。1.最开始的地方:Servlet服务器接收到请求后由各种容器处理,如tomcat,这些容器在处理过程中会调用Servlet接口中的方法,由文档可知,在创建该类时会调用init方法,处理请求时会调用service方法,销毁时会调用destroy方法。创建Servlet实例、调用生命周期方法的都是类似tomcat容器在处理请求过程中所做的事情,因此首先需要搞清楚的就是init原创 2021-04-18 23:26:07 · 427 阅读 · 0 评论 -
SpringBoot笔记-基础篇-yaml文件编写格式
SpringBoot支持两种配置文件格式:properties和yaml,因为yaml文件格式的易读性,目前很多项目的配置文件都采用了此种格式,它的后缀可以是yaml或yml。1.目标既然是将它作为配置文件使用,那么我们只需要掌握经常使用到的配置格式的写法即可,没必要必须要研究透它的原理才开始使用。yaml是一种格式,而解析这种格式的项目有很多,不同的语言有不同的项目负责解析,在java中主要由snakeyaml负责配置文件的解析yaml的基本配置格式为【键】【冒号】【空格】【值】,例如 name原创 2021-04-17 22:30:55 · 278 阅读 · 0 评论 -
SpringBoot笔记-基础篇-自动配置原理
在hello world程序中可以看到,因为有@SpringBootApplication注解所以我们什么都不需要写就可以拥有web开发能力,那么这背后的原理是什么,SpringBoot的自动配置功能如何实现的?@SpringBootApplicationpublic class SpringbootdemoApplication { public static void main(String[] args) { SpringApplication.run(Springboo原创 2021-04-15 21:42:01 · 189 阅读 · 0 评论 -
SpringBoot笔记-基础篇-比较重要的概念
体验过hello world程序后,可以感觉到SpringBoot的强大之处,在正式学习SpringBoot为什么这么厉害前,首先需要掌握一些SpringBoot中的基本概念,打开官方文档,进入Using Spring Boot章节:1.需要用到的jar包版本是如何确定的在hello world程序中,我们引入了web功能,而该功能会需要很多的jar包虽然我们没有明确的指定依赖包的版本,但是SpringBoot却可以引入相关的依赖,其原理是SpringBoot会为它每个版本设置默认的兼容依赖包的版原创 2021-04-13 22:50:18 · 182 阅读 · 0 评论 -
SpringBoot笔记-基础篇-第一个SpringBoot程序
1.为什么需要SpringBootSpringBoot从字面意思上理解就是Spring的启动器,以前在使用Spring搭建项目的时候,需要配置特别多的东西,比如事务、日志、mvc等等,这就导致每次创建项目的时候都需要写很多的配置,无论这种配置是代码方式还是xml文件方式。对于以前不需要频繁创建项目的场景下勉强可以接受,但是随着分布式与微服务的发展,现在需要更快的创建项目,使用Spring就不太方便了。Spring意识到了这个问题,因此提出了SpringBoot项目,这个项目旨在于快速启动所有Sprin原创 2021-04-13 21:47:03 · 85 阅读 · 0 评论 -
Spring注解系列-核心注解
1.概述我们可以通过org.springframework.beans.factory.annotation 和org.springframework.context.annotation 包中的注解利用Spring DI引擎的能力。我们将这些包中的注解称为Spring核心注解,在本教程中将会复习它们。2.DI有关的注解2.1 @Autowired我们可以使用@Autowired注解标注一个Spring将要解析和注入的依赖,我们可以在构造器、setter方法或字段注入上使用此注解。构造器注入:c翻译 2021-01-07 22:11:21 · 440 阅读 · 0 评论