
SpringBoot
文章平均质量分 91
以雷丰阳老师的视频为基础学习SpringBoot并阅读一定的源码
slow is fast.
总结积累
展开
-
SpringBoot:SpringBoot启动过程原理 ---- 25
ssssSpringBoot框架的原理是很复杂的,但又是简单的,因为他不是最底层的框架,而是由不同的框架组成的,主要分为以下几个部分:ssss①. Spring原理【Spring注解】、ssss②. SpringMVC原理ssss③. 自动配置原理. ssss④. SpringBoot(启动)原理ssss⑤. 第三方框架 … SpringBoot启动过程 ● 创建 SpringApplication SpringBoot启动过程ssss我们以 “deBug” 方式来进行分析:sdsdsdsad原创 2021-11-20 23:31:38 · 575 阅读 · 0 评论 -
SpringBoot:自定义starter (大致了解了下)---- 24
starter启动原理 starter启动原理ssssstarter-pom引入 autoconfigurer 包 (我不知道为什么没有创建成功,所以把理解的东西先总结下来)sdsddsdsdsdsdsdsdsssssdssss 【注1】:我们以"Druid"为例进行分析,首先我们要引入其starter,它是Druid的启动器,而启动器内写了响应的自动配置程序DruidDataSourceAutoConfigure.sddsdsdsddsdsdsdsdsdsdssssssddsdsdsdds..原创 2021-11-20 21:19:06 · 390 阅读 · 0 评论 -
SpringBoot:高级特性 Profile ---- 23
ssssProfile的功能:为了方便多环境适配,springboot简化了profile功能。(适用于不同的环境)https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.profiles application-profile功能 @Profile条件装配功能 profile分组 外部化配置 配置文件查找位置 配置文件加载顺序: 总结:指定环境优先,外部优先,后面的可以覆盖前面的同名配置原创 2021-11-20 18:13:09 · 603 阅读 · 0 评论 -
SpringBoot:指标监控Actuator (简单使用,没深入内容)---- 22
ssss关于指标监控SpringBoot Actuator,我们以SpringBoot的官方文档为准。https://docs.spring.io/spring-boot/docs/2.5.7/reference/html/ SpringBoot Actuator 简介 1.x与2.x的不同 如何使用? 可视化: Actuator Endpoint 最常使用的端点 管理Endpoints 定制 Endpoint SpringBoot Actuator 简介ssss未来每一个微服务在云上部署以原创 2021-11-20 13:58:53 · 1011 阅读 · 0 评论 -
SpringBoot:单元测试 ---- 21
ssss什么是Redis? JUnit5 的变化 JUnit5常用注解 断言(assertions) 简单断言 数组断言 组合断言 异常断言 超时断言 快速失败 前置条件(assumptions) 嵌套测试 嵌套测试 迁移指南 JUnit5 的变化ssssSpring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库ssss作为最新版本的JUnit框架,JUnit5与之前版本的Junit框架有很大的不同。由三个不同子项目的几个不同模块组成。ssds原创 2021-11-19 18:27:10 · 648 阅读 · 0 评论 -
SpringBoot:NoSQL - Redis (很浅,若想学习Redis,请看其专栏)---- 20
ssss什么是Redis?redis中文官方网站 Redis自动配置 Redis自动配置ssss①、引入redis场景 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </d原创 2021-11-19 15:31:48 · 1208 阅读 · 0 评论 -
SpringBoot:MyBatis增强版:MyBatis-Plus ---- 19
ssss什么是MyBatis-Plus?MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。(建议安装 MybatisX 插件)ssssmybatis plus 官网:https://baomidou.com/ssss引入插件:MybatisX,自动映射mapper的跳转, 快速入门(对应官网指南的快速入门) 测试模拟 自动配置分析 快速入门(对应官网指南的快速入门)ssss①、引入 mybatis-原创 2021-11-18 22:19:30 · 1002 阅读 · 2 评论 -
SpringBoot:整合MyBatis ---- 18
ssss如果想学好一门技术,当然要去看官方文档。myBatis-starter 配置分析是:myBatis官方文档 整合MyBatis myBatis-starter 配置分析 纯配置模式的myBatis使用: 整合MyBatis myBatis-starter 配置分析sdsdsss引入starter: <dependency> <groupId>org.mybatis.spring.boot</groupId> &l原创 2021-11-18 18:18:18 · 632 阅读 · 0 评论 -
SpringBoot:数据访问之使用Druid数据源---- 17
ssss如果想学好一门技术,当然要去看官方文档。Druid数据源的官方文档是:Druid数据源官方文档 整合第三方技术的两种方式: 自定义方式引入Druid: starter方式引入Druid: 整合第三方技术的两种方式:sdsdsdsdsdssss①、 自定义 ssdsdsdsss②、 找starter 自定义方式引入Druid:ssss①、引入Druid依赖ssss②、 往容器中添加Druid 数据库连接池@Configurationpublic class MyDataSourc原创 2021-11-18 12:31:12 · 767 阅读 · 0 评论 -
SpringBoot:数据访问之数据库场景的自动配置原理---- 17
数据源的自动配置 导入JDBC场景 自动配置原理 修改配置项\测试代码 数据源的自动配置 导入JDBC场景sdsds引入 spring-boot-starter-data-jdbc 场景<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dep...原创 2021-11-17 22:07:09 · 1036 阅读 · 0 评论 -
SpringBoot:嵌入式Servlet容器(Tomcat, Jetty, or Undertow服务器)原理浅析---- 16
ssss我们依旧以SpringBoot官网的官方文档为准学习。ssdsdsdsdsdssSpring Boot Features ==> 7.4.3. The ServletWebServerApplicationContext 文档介绍 原理 文档介绍sdsdsUnder the hood, Spring Boot uses a different type of ApplicationContext for embedded servlet container support. The原创 2021-11-16 23:22:31 · 1477 阅读 · 0 评论 -
SpringBoot: Web原生组件注入(Servlet、Filter、Listener) ---- 15
ssss我们依旧以SpringBoot官网的官方文档为准学习。Spring Boot Features ==> 7.Developing Web Applications ==> 7.4 Embedded Servlet Container Support 使用Servlet API 1 @WebServlet + @ServletComponentScan 2 @WebFilter + @ServletComponentScan @WebListener + @ServletCompone原创 2021-11-16 19:23:01 · 798 阅读 · 0 评论 -
SpringBoot: 异常处理机制原理 ---- 14
错误处理的默认规则 定制错误处理逻辑 异常处理自动配置原理 异常处理步骤流程 错误处理的默认规则ssss● 默认情况下,Spring Boot提供/error处理所有错误的映射。ssss● 对于机器客户端,它将生成JSON响应,其中包含错误,HTTP状态和异常消息的详细信息。对于浏览器客户端,响应一个“ whitelabel”错误视图,以HTML格式呈现相同的数据ssdsddsdsdsdsdsdsdssdssdsssss● 要对其进行自定义,添加View解析为errorssss● 要完全替换..原创 2021-11-15 16:06:00 · 1057 阅读 · 0 评论 -
SpringBoot: 文件上传原理 ---- 13
文件上传 文件上传实现 自动配置原理 文件上传原理 文件上传ssss其实文件上传原理本质和前面的差不多,只是有一些细节上的处理,因此我们简单分析即可。 文件上传实现ssdsdsssdssss上传功能固定写法:dsdsdsdssssdssss文件上传代码: /** * MultipartFile 自动封装上传过来的文件 * @param email * @param username * @param headerImg * @par..原创 2021-11-12 20:44:25 · 1324 阅读 · 0 评论 -
SpringBoot:拦截器的实现原理 ---- 12
拦截器的实现原理 自定义拦截器的实现步骤 拦截器原理 拦截器的实现原理ssss对于拦截器的实现原理,其实是非常简单的,在前几篇文章我们已经分析了,请求映射原理最核心的方法是 doDispatch(request, response),因此我们通过 deBug 方式在doDispatch处打断点学习具体的参数处理是如何工作的,其中的核心方式有获取处理器执行器,映射器,执行目标方法,页面渲染等。 在这其中,其实还穿插着一些拦截器的相关方法执行。 自定义拦截器的实现步骤ssdsadssdasdsds..原创 2021-11-12 17:46:20 · 2949 阅读 · 2 评论 -
SpringBoot: 浅析视图渲染的原理 ----11
sss我们以debug如下方法来进行分析,通过客户端 http://localhost:8080/ 进行登录请求:ssdsdsdsdsdsdsdsdsdsdsdsdssdsdsdsdssdsss 视图解析 浅析视图解析原理流程 解析 render(mv, request, response) 方法:①、我们如何根据方法的String返回值得到 View 对象【定义页面的渲染逻辑】呢? 视图解析sss视图的处理方式我们大致分为三种,如下图:ssdsdsdsdssdsdsdsdsdsddsads原创 2021-11-11 20:01:12 · 1374 阅读 · 0 评论 -
SpringBoot: 用于视图渲染的第三方模板引擎 ----10
模板引擎 - thymeleaf thymeleaf简介 thymeleaf使用 thymeleaf开发示例: 基本语法 构建后台管理系统 sdas 模板引擎 - thymeleafsss视图解析:SpringBoot默认不支持 JSP,需要引入第三方模板引擎技术实现页面渲染。我们可以通过springboot文档找到了thymelf模本,因此本次我们以thymelsf为模范进行解析。 thymeleaf简介sssThymeleaf is a modern server-side Java t..原创 2021-11-10 20:15:11 · 554 阅读 · 0 评论 -
SpringBoot:图解数据响应与内容协商原理 ---- 9
sss当通过浏览器或者PostMan模拟请求时, 我们首先是执行方法(获取解析参数,执行方法体),然后开始处理返回值,也就是我们今天的主题,响应处理(数据响应与内容协商)。其逻辑都在一个方法中:this.returnValueHandlers.handleReturnValue(returnValue, this.getReturnValueType(returnValue), mavContainer, webRequest); , 这是我们今天分析的主题。 数据响应与内容协商 响应JSON JSO原创 2021-11-09 12:17:07 · 839 阅读 · 4 评论 -
SpringBoot:参数处理原理 (自定义参数,主要是参数转换)---- 8.4
sss继 《SpringBoot:参数处理原理 ---- 8.2》和SpringBoot:参数处理原理 (复杂参数)---- 8.3(图解)这两篇文章,我们分析一下自定义参数在请求过程中的不同的细节。 自定义对象参数: POJO封装过程 转换过程 自定义转换器 自定义对象参数:sss可以自动类型转换与格式化,可以级联封装:/** * 姓名: <input name="userName"/> <br/> * 年龄: <input name="age"原创 2021-11-08 10:59:15 · 1351 阅读 · 0 评论 -
SpringBoot:参数处理原理 (复杂参数)---- 8.3(图解)
sss继 《SpringBoot:参数处理原理 ---- 8.2》这篇文章,我们继续分析复杂参数的请求原理,其实和上篇文章的过程差不多,也就是变相的分析mv返回后,我们怎么处理。 复杂参数 例子: 为什么Map,Model参数解析后存放位置是相同的?(是) Model 和 View解析后的参数和转发地址是怎么封装到mav中,并返回的呢? 处理完的数据(也就是mav中的数据)怎么办? 复杂参数sssMap、Model(map、model里面的数据会被放在request的请求域 request.s原创 2021-11-06 19:14:20 · 916 阅读 · 0 评论 -
SpringBoot:参数处理原理图解 ---- 8.2
sss读前必看:通过Web开发相关原理那篇文章我们知道,请求映射原理是:DispatcherServlet调用父类中的doGet和doPost,而这两个方法的核心方法是processRequest(request, response) ,而这个方法的核心方法是一个抽象方法doService(request, response),并未做具体实现,而DispatcherServlet实现了这个方法,并且其中最核心的方法是 doDispatch(request, response),因此我们通过deBug方式在d原创 2021-11-05 16:22:36 · 1001 阅读 · 2 评论 -
SpringBoot:普通参数与基本注解 ---- 8.1
【番外】: 学妹和我打赌,我回答出她的一个问题,她就让我问她一个私人问题~,那让我开始!!!!!!学妹:java技术体系包括了几个组成部分呀?我:可以看成5个部分呢,给你一个图自己看吧,太简单了呢~学妹:javaME、SE、EE分别是什么呀?我清了清嗓子,准备给学妹解惑:①、ME是支持Java程序在移动终端上的平台,JDK6之前叫J2ME,注意:Android可不属于JavaME;②、SE是面向桌面级应用的Java平台,提供了完整的Java核心API,JDK6之前被称为J2SE;③、EE支原创 2021-11-03 14:34:08 · 261 阅读 · 0 评论 -
SpringBoot:Web 开发相关原理 ---- 7
静态资源配置原理 静态资源处理规则 静态资源配置原理 静态资源处理规则sssSpringBoot启动自动加载 xxxAutoConfiguration 自动配置类sssSpringMVC功能的自动配置类大都集中在 ==》 WebMvcAutoConfiguration ,生效@Configuration( proxyBeanMethods = false)@ConditionalOnWebApplication( type = Type.SERVLET)@Conditi..原创 2021-11-03 16:21:47 · 476 阅读 · 0 评论 -
SpringBoot:Web 开发 ---- 6
内容概览 SpringMVC自动配置概览 简单功能分析 静态资源访问 欢迎页支持 自定义 Favicon 内容概览sss文档位置:Spring Boot Features ==》7 Developing Web Applications SpringMVC自动配置概览sssSpring Boot provides auto-configuration for Spring MVC that works well with most applications.The auto-configura..原创 2021-11-02 22:25:44 · 1707 阅读 · 0 评论 -
SpringBoot: 开发小技巧 ---- 5
lombok - 简化 JavaBean开发&日志开发 dev-tools - Restart Spring Initailizr(项目初始化向导) 配置文件 yaml 简介 基本语法 数据类型 示例 配置Annotation Processor 绑定 JavaBean 和配置文件 lombok - 简化 JavaBean开发&日志开发sss①、引入依赖:<dependency> <groupId>org.projectlombok</groupI..原创 2021-11-02 18:38:05 · 228 阅读 · 0 评论 -
SpringBoot:容器功能、组件添加、原生配置文件引用、配置绑定 ---- 3
组件添加@Configuration:@Bean、@Component、@Controller、@Service、@Repository@ComponentScan、@ImportConditional 原生配置文件引用 @ImportResource: 配置绑定 (三种方法)第一种方法:读取properties文件第二种方法:@ConfigurationProperties + @Component第三种方法:@EnableConfigurationProperties + @Configuratio..原创 2021-11-01 19:01:51 · 382 阅读 · 0 评论 -
SpringBoot:自动配置原理入门 ---- 4
引导加载自动配置@SpringBootApplication分析ss @EnableAutoConfiguration核心注解一:@AutoConfigurationPackagess @EnableAutoConfiguration核心注解二:@Import(AutoConfigurationImportSelector.class) 按需开启自动配置项 修改默认配置 总结: 流程: SpringBoot开发步骤 引导加载自动配置@SpringBootApplication分析@SpringBo..原创 2021-11-01 23:50:14 · 361 阅读 · 2 评论 -
SpringBoot:相关系统要求、HelloWord、依赖管理、自动配置(粗浅)---- 2
系统要求 HelloWorld 创建Maven工程 pom 文件中引入依赖 创建主程序 编写逻辑业务 测试 简化配置 简化配置 自动配置讲解 依赖管理 无需关注版本号,自动版本仲裁 可以修改默认版本号 查看自动配置的组件 查看自动配置的组件 系统要求ssdss不同版本之间的差异可以如下观看:ssdss①、寻找相应的版本,比如目前最新版本是2.5.6,所以我们要看相应版本的要求。ssdss②、点击 “ Getting Started ” 查看相关的系统要求..原创 2021-10-31 21:20:25 · 316 阅读 · 0 评论 -
SpringBoot:初学者之学习方式 ----1
Spring能做什么 Spring的能力 Spring的生态 Spring5 重大升级 响应式编程 内部源码设计 为什么用SpringBoot 为什么用SpringBoot ? SpringBoot 优点: SpringBoot缺点 时代背景 微服务 分布式 分布式的困难 分布式的解决 云原生 上云的困难 上云的解决 如何学习SpringBoot 官网文档架构 Spring能做什么 Spring的能力ssdss1、Micoservices: 把一个应用的所有功能拆成一个一个的小模块,我们称每个小..原创 2021-10-30 17:09:51 · 314 阅读 · 0 评论