![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
我的SpringBoot学习之路
文章平均质量分 85
学习SpringBoot时记下的笔记。
「已注销」
这个作者很懒,什么都没留下…
展开
-
SpringBoot第一天 - HelloWorld
SpringBoot - HelloWorld今天开始SpringBoot的成神之路。1. SpringBoot概述1.1 简介SpringBoot是由Spring团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。1.2 特点SpringBoo原创 2021-05-17 20:21:17 · 97 阅读 · 0 评论 -
SpringBoot第二天 - 底层注解
SpringBoot - 底层注解SpringBoot一些底层注解的介绍1. @Configuration1.1 作用注解@Configuration指定一个类为Spring配置类,相当于XML配置文件。配置类中存在一个或多个使用@Bean注解的方法,这些方法连同配置类会被Spring框架扫描,并用于构建Bean,初始化IOC容器。1.2 作用范围类或接口(ElementType.TYPE)1.3 属性String value:指定此配置类的Bean名称;boolean prox原创 2021-05-18 10:08:24 · 108 阅读 · 0 评论 -
SpringBoot第三天 - Lombok
SpringBoot - Lombok1. 简介官方介绍:Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builde原创 2021-05-19 09:39:43 · 89 阅读 · 0 评论 -
SpringBoot第四天 - YAML
SpringBoot - YAML1. 简介YAML是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中获得灵感。Clark Evans在2001年首次发表了这种语言,另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者。当前已经有数种编程语言或脚本语言支持(或者说解析)这种语言。YAML是"YAML Ain’t a Markup Language"(YAML不是一种标原创 2021-05-20 09:46:42 · 91 阅读 · 0 评论 -
SpringBoot第五天 - Web简单功能分析
SpringBoot - Web简单功能分析1. 静态资源访问1.1 概述SpringBoot默认静态资源目录:classpath:/static/classpath:/public/classpath:/resources/classpath:/META-INF/resources/访问方式:当前项目根路径/ + 静态资源名1.2 原理By default, resources are mapped on /**, but you can tune that with the原创 2021-05-20 20:30:44 · 89 阅读 · 0 评论 -
SpringBoot第六天 - Web请求映射
SpringBoot - Web请求映射深入了解SpringBoot如何处理请求映射。1. Restful请求映射及其原理1.1 Restful请求概述Restful请求以四大动词命名的HTTP请求方式来表示对资源的操作:HTTP GET:查询;HTTP POST:添加;HTTP PUT:修改;HTTP DELETE:删除。以user为例,传统HTTP操作请求为:查询用户:/getUser等等;添加用户:/createUser等等;修改用户:/modifyUser等等;删除用原创 2021-05-20 21:43:54 · 327 阅读 · 0 评论 -
SpringBoot第七天 - Web参数处理
SpringBoot - Web参数处理探讨SpringBoot接收和处理参数的方式。1. 注解方式SpringMVC为我们提供了许多注解来接收参数。1.1 常用注解SpringMVC常用的9个参数绑定注解:@RequestParam 接收请求中的参数;@RequestBody 接收请求体内容;@RequestHeader 接收请求头内容;@RequestAttribute 接收Request域中的参数;@PathVariable 接收请求路径原创 2021-05-21 09:56:41 · 330 阅读 · 0 评论 -
SpringBoot第八天 - Web类型转换器
SpringBoot - Web类型转换器1. 类型转换器概述类型转换器就是将一个类型转换为另一个类型,Spring提供的类型转换器多达上百种,比如可以将String类型转换为数字类型。同时Spring也提供的类型转换器的接口Converter:// org.springframework.core.convert.converter.Converter@FunctionalInterfacepublic interface Converter<S, T> { /** *原创 2021-05-21 17:03:59 · 338 阅读 · 0 评论 -
SpringBoot第九天 - Web数据响应
SpringBoot - Web数据响应研究SpringBoot进行Web开发时如何处理响应。1. 数据响应类型数据响应分为两大类:响应页面,响应数据。响应页面在我们开发单体应用经常用到,处理器直接返回视图名。响应页面的原理会在接下来的视图解析章节讲解。做前后端分离开发场景大多数还是响应数据,常用响应数据类型:JSON数据格式XML格式xls,xlsx表格图片,音视频等媒体格式自定义协议数据等本章节我们以处理器响应JSON数据来研究数据响应原理。学习SpringMVC时我们知道原创 2021-05-22 09:39:59 · 213 阅读 · 0 评论 -
SpringBoot第十天 - Web内容协商
SpringBoot - Web内容协商本节研究SpringBoot在Web开发中如何处理内容协商的机制。1. 内容协商概述简单概括就是:根据客户端接收能力的不同,服务端返回不同类型的数据。1.1 需求概述我们在进行Web开发时,希望通过进行同一个Restful请求能得到不同的数据返回类型。比如JSON数据,XML数据,xls表格,HTML视图,PDF视图等。也就是同一个请求能够返回不同的结果。内容协商机制解决了这一问题。1.2 HTTP内容协商概述在HTTP协议中,内容协商是这样一种机原创 2021-05-22 09:42:02 · 552 阅读 · 0 评论 -
SpringBoot第十一天 - Web自定义消息转换器
SpringBoot - Web自定义消息转换器1. 需求场景出于安全性考虑或其他原因,我们需要用到自定义媒体类型来传输数据,那么就需要编写自定义消息转换器来进行内容协商。2. 概括步骤设计自定义媒体类型;编写自定义MessageConverter消息转换器来处理自定义媒体类型;将编写好的消息转换器注册进SpringBoot;SpringMVC进行内容协商的时候就会使用我们自定义消息转换器;转换成我们自定义媒体类型数据后由前端接收。3. 消息转换器自动配置原理启动应用时,Sprin原创 2021-05-25 15:49:17 · 209 阅读 · 0 评论 -
SpringBoot第十二天 - Thymeleaf
SpringBoot - ThymeleafSpringBoot本身不支持JSP,如果我们需要编写视图的话,使用Thymeleaf作为视图模板引擎。1. Thymeleaf简介Thymeleaf is a modern server-side Java template engine for both web and standalone environments.Thymeleaf’s main goal is to bring elegant natural templates to you原创 2021-05-29 17:58:17 · 91 阅读 · 0 评论 -
SpringBoot第十三天 - Web视图解析
SpringBoot - Web视图解析了解认识视图解析器,学习视图解析原理,探讨SpringBoot解析视图的方式。1. 返回视图的三种方式我们知道处理器方法不加@ResponseBody注解时,处理请求后服务端返回的是一个页面。让处理器返回视图一共有三种方式:返回String字符串,字符串对应的是视图的逻辑视图名;返回ModelAndView对象,并设置视图名;返回值为空或其他类型,这时SpringMVC会解析请求路径为默认视图名。2. 视图解析原理(源码)我们常用第一种方式返回视原创 2021-05-29 17:59:45 · 290 阅读 · 0 评论 -
SpringBoot第十四天 - Web拦截器
SpringBoot - Web拦截器了解并掌握拦截器的相关知识,了解拦截器的原理。1. 拦截器概述SpringMVC提供了拦截器机制(HandlerInterceptor),类似Servlet中的过滤器(Filter),可以对处理器进行预处理和后处理。1.1 拦截器的实现拦截器本质是一个接口HandlerInterceptor,它有三个方法:// org.springframework.web.servlet.HandlerInterceptorpublic interface Hand原创 2021-05-29 18:02:40 · 260 阅读 · 0 评论 -
SpringBoot第十五天 - Web文件上传
SpringBoot - Web文件上传与下载掌握SpringBoot进行Web开发时如何完成文件的上传与下载,了解其原理。1. 文件上传方式文件上传指客户端上传文件到服务端,SpringMVC的文件上传方式主要有两种。1.1 MultipartFile.transferTo()此方法使用了MultipartFile接口提供的transferTo方法,简单易用。举个例子:@RequestMapping("/upload")@ResponseBodypublic Object uploa原创 2021-06-04 20:02:36 · 601 阅读 · 0 评论 -
SpringBoot第十六天 - Web异常处理
SpringBoot - Web异常处理了解SpringBoot进行Web开发时的异常处理机制。1. 异常处理机制1.1 默认异常处理默认情况下,SpringBoot提供/error映射处理所有的异常,并在Servlet容器中注册为全局错误处理页面。对于浏览器客户端,SpringBoot响应一个"Whitelabel"错误视图,以HTML格式展示,其中包含错误,HTTP状态码和异常的详细信息,看起来像这样:Whitelabel Error PageThis application has原创 2021-06-09 10:54:00 · 1266 阅读 · 0 评论 -
SpringBoot第十七天 - Web原生组件注入
SpringBoot - Web原生组件注入学习使用SpringBoot进行Web开发时使用原生Web组件(Servlet,Filter,Listener)。1. 注入方式1.1 @ServletComponentScan + 原生注解Servlet 3.0提供了一套新注解:@WebServlet:表示这是一个Servlet;@WebFilter:表示这是一个Filter;@WebListener:表示这是一个Listener。这些注解可直接标注在对应组件上,和在web.xml里配置意义原创 2021-06-09 17:12:27 · 140 阅读 · 0 评论 -
SpringBoot第十八天 - Dao JDBC
SpringBoot - Dao JDBC本章学习SpringBoot进行数据访问操作,本节学习SpringBoot对数据访问模块的依赖导入与自动配置分析。1. 导入模块starterpom.xml:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <v原创 2021-06-11 20:05:19 · 205 阅读 · 1 评论 -
SpringBoot第十九天 - Dao Druid数据源
SpringBoot - DaoDruid本节学习SpringBoot自定义整合Druid数据源方式以及Druid数据源模块starter的配置。1. Druid简介Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的原创 2021-06-19 17:21:23 · 332 阅读 · 0 评论 -
SpringBoot第二十天 - Dao 整合Mybatis
SpringBoot - Dao 整合Mybatis本节学习SpringBoot整合Mybatis框架以及Mybatis模块starter的配置。1. Mybatis简介MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为原创 2021-10-11 19:39:09 · 174 阅读 · 0 评论 -
SpringBoot第二十一天 - Dao 整合MybatisPlus
SpringBoot - Dao 整合MybatisPlus本节学习SpringBoot整合MybatisPlus。1. MybatisPlus简介MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-Plus官网 - 简介特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CR原创 2021-10-11 19:45:12 · 306 阅读 · 0 评论 -
SpringBoot第二十二天 - JUnit单元测试
SpringBoot - JUnit单元测试本节学习SpringBoot使用Junit进行单元测试。1. JUnit概述1.1 JUnit简介JUnit 5 is the next generation of JUnit. The goal is to create an up-to-date foundation for developer-side testing on the JVM. This includes focusing on Java 8 and above, as well a原创 2021-10-12 20:26:50 · 759 阅读 · 0 评论 -
SpringBoot第二十三天 - Actuator指标监控
SpringBoot - Actuator指标监控本节学习SpringBoot使用Actuator模块进行指标监控功能。1. SpringBoot Actuator概述1.1 Actuator简介Spring Boot includes a number of additional features to help you monitor and manage your application when you push it to production. You can choose to ma原创 2021-10-15 11:17:16 · 3153 阅读 · 1 评论 -
SpringBoot第二十四天 - 自定义模块starter
SpringBoot - 自定义模块 starter本节学习自定义SpringBoot模块starter的步骤和注意事项。本节详细代码:dyj123-hello-springboot-custom-starter - adas5f1a51/GitHub1. 为什么要自定义模块 starter传统方式使用 Spring 开发项目,需要编写一大堆配置文件,引入很多依赖。久而久之配置文件维护难度加大,依赖引入难于控制(被戏称为“依赖地狱”),加重了开发人员的负担。为此 Spring 推出了 Spring原创 2021-10-18 16:14:15 · 175 阅读 · 0 评论 -
SpringBoot第二十五天 - 高级特性
SpringBoot - 高级特性本节学习SpringBoot原理解析和SpringBoot的一些高级特性。1. Profile功能由于开发环境、测试环境和生产环境的配置都不一样,切换环境如果重新配置太麻烦。SpringBoot引入了Profile功能可以帮助我们方便切换环境配置,具体信息参照 Spring官方文档 。为了方便多环境适配,SpringBoot简化了Profile功能。3.1 切换环境配置功能可以参照 测试环境配置文件命名规则的方式来命名:application-<env原创 2021-10-18 16:48:03 · 140 阅读 · 0 评论