
框架技术
文章平均质量分 94
码农飞哥
csdn博客专家,讯飞程序员,影刀高级RPA工程师,几十款RPA工具等你拿 1736334084
展开
-
【高效编码】超全面的,超正的单元测试框架Junit的使用姿势
junit 看这个就够了原创 2021-05-05 16:48:20 · 11620 阅读 · 97 评论 -
此文要从SpringBoot打包后不能读取classpath下文件说起
小问题,最让人头疼。通过ResouceUtils.getFile()的方式能不能获取到classpath下文件呢?原创 2021-04-21 15:00:01 · 9379 阅读 · 20 评论 -
分分钟学会Fiddler抓包工具的使用(一)
本文简单的介绍了抓包工具Fiddler的基本使用,主要的内容包括如何配置代理地址,如何抓取HTTPS请求,希望对读者朋友们有所帮助。原创 2021-04-16 21:47:35 · 2964 阅读 · 1 评论 -
Spring Cloud 学习笔记06-02----用Hystrix来限流以及进行服务隔离
本文主要首先介绍了Hystrix的工作流程,然后介绍了Hystrix的两种隔离策略,主要是线程池的隔离策略以及信号量的隔离策略,默认的话是线程池的隔离策略,该策略可以应对突发流量。接着就是介绍了Hystrix的基本配置,其配置主要是通过`@HystrixCommand`注解来配置的。配置按照功能划分有Command的配置,熔断器(circuitBreaker)的配置以及线程池(threadPool)的配置。最后就是通过一个简单的demo来实际使用Hystrix。原创 2020-09-15 17:13:37 · 2383 阅读 · 0 评论 -
SpringBoot之如何自定义一个starter模块
本文完整的演示了一遍如何自定义starter模块。其实理解了自动装配的原理就很好的能自定义一个starter模块。它的工作流程无非就三步:1. Spring Boot在启动时会扫描项目所依赖的JAR包,寻找包含spring.factories属性文件的JAR包。2. 根据spring.factories配置加载EnableAutoConfiguration。3. 根据@Conditional注解的条件,进行自动配置并将Bean注入到Spring容器。原创 2020-08-12 20:43:04 · 3424 阅读 · 0 评论 -
SpringBoot手动装配,自定义Enable模块
今天这篇文章主要是介绍下如何是实现手动配置,自定义Enable模块,原创 2020-08-12 19:35:28 · 2793 阅读 · 0 评论 -
全网最详细的介绍SpringBoot启动过程源码分析
这就是Spring Boot的整个启动流程,其核⼼就是在Spring容器初始化并启动的基础上加⼊各种扩展点,这些扩展点包括:ApplicationContextInitializer、ApplicationListener以及各种BeanFactoryPostProcessor等等。你对整个流程的细节不必太过关注,你只要理解这些扩展点是在何时如何⼯作的,能让它们为你所⽤即可。原创 2020-05-09 21:19:22 · 3103 阅读 · 5 评论 -
简单详细的SpringBoot自动配置原理解析
SpringBoot启动会根据条件加载配置原创 2020-05-06 22:59:30 · 6734 阅读 · 0 评论 -
Spring容器的事件监听机制(简单明了的介绍)
本文首先介绍了Java中事件监听机制的基本概念,并且以一个记录方法耗时的demo说明了如何自定义事件类型。接着就是介绍了Spring容器的事件监听机制。原创 2020-05-05 21:23:18 · 2611 阅读 · 0 评论 -
双亲委派模型以及SpringFactoriesLoader详解(最全最简单的介绍)
本文首先介绍了JVM中的三种类加载器,分别是启动类加载器,扩展类加载器,以及应用类加载器。然后说到了双亲委派模型以及它的缺点。根据它的缺点引出了线程上下文加载器(ContextClassLoader) 以及他在SPI的实现上的运用。最后就是详细介绍了SpringFactoriesLoader的实现原理。原创 2020-05-05 12:36:12 · 3504 阅读 · 0 评论 -
JavaConfig与常见Annotation(必知必会系列)
本文首先介绍了JavaConfig讲到了注解与Spring的XML配置文件中的节点的配置关系,接着就是介绍了各种常用的注解原创 2020-05-03 17:06:22 · 2099 阅读 · 0 评论 -
看了这一篇Spring容器Bean的生命周期,面试再也不用怕了
本文首先介绍了如何自定义扩展类,对 BeanFactoryProcessor接口的作用做了详细阐述,并介绍了其实现类 PropertyResourceConfigurer,这个实现类的作用就是讲占位符替换成属性文件中对应的属性值,紧接着就是介绍了如果自定义扩展类,通过数据库连接密码解密为例说明。第二部分就是介绍了Spring容器管理的Bean的完整生命周期,在Bean生命周期的不同阶段,Spring提供了不同的扩展点用来改变Bean的命运。原创 2020-05-03 09:39:19 · 3517 阅读 · 2 评论 -
详实明了的IOC容器的介绍,启动流程以及Bean的实例化和依赖注入
本文主要介绍了IOC容器的核心概念,以及其启动过程。然后,就是介绍了Bean的实例化过程,熟悉IOC容器我们需要先了解清楚其核心的几个接口,例如:BeanFactory接口,BeanDefinitionRegistry接口等。IOC容器的启动过程无非就是解析配置文件,将属性值存放到BeanDefinition中。Bean的实例化是通过反射或者CGLIB的方式来的。Bean中的属性是存放在PropertyValue中。原创 2020-04-30 09:28:45 · 2555 阅读 · 0 评论 -
SpringSession的源码解析(从Cookie中读取Sessionid,根据sessionid查询信息全流程分析)
前言上一篇我们介绍了SpringSession中Session的保存过程,今天我们接着来看看Session的读取过程。相对保存过程,读取过程相对比较简单。读取过程的时序图...原创 2020-04-17 21:11:50 · 4987 阅读 · 0 评论 -
SpringSession的源码解析(生成session,保存session,写入cookie全流程分析)
本文按照代码运行的顺序,一步步分析了session的创建,保存到redis,将sessionid交由cookie托管的过程。分析完源码之后,我们知道了session的创建和保存到redis主要是由RedisOperationsSessionRepository类来完成。将sessionid交由cookie托管主要是由DefaultCookieSerializer类来完成,下一篇我们将介绍读取session的过程。原创 2020-04-12 23:57:57 · 5460 阅读 · 0 评论 -
最简单的通用Mapper的使用手册不了解一下?
本文首先介绍了如何在SpringBoot中整合通用的Mapper,其中详细介绍了逆向工程的使用。接着就是介绍了通用方法的调用,通用Mapper运用动态SQL的方式,省去了编写SQL的繁琐,实现了单表的基本的增删改查方法,极大的提高了对单表操作的效率。最后就是介绍了通用Mapper内置的方法。希望对读者朋友们有所帮助。如有疑问欢迎与我联系。原创 2020-03-08 17:20:32 · 3189 阅读 · 0 评论 -
小白一看就会的Spring的RestTemplate的使用
本文主要介绍了`restTemplate`类的使用,首先介绍了需要引入的依赖,然后介绍了如何设置超时时间,接着就是介绍了`restTemplate`中get请求相关的方法和post请求相关的方法,以及这些方法如何调用。最后就是对常用的请求方法做了一个封装。希望对读者朋友们有所帮助。原创 2020-03-06 22:46:22 · 8321 阅读 · 11 评论 -
SpringBoot 分布式session共享方案(并且可实现session在多个项目中共享)
前言单机环境下我们session是存储在应用服务的内存中,但是在分布式环境 下,这种存储在应用服务器内存的方案显然不能实现session共享。本次我们将介绍SpringBoot+Redis实现分布式环境下Session共享方案。原创 2020-01-15 21:14:31 · 3688 阅读 · 0 评论 -
Spring JDBC中NamedParameterJdbcTemplate的使用,包括in的用法
本文主要介绍了NamedParameterJdbcTemplate的使用,通过NamedParameterJdbcTemplate我们可以把in中的参数放入map中,值为`List<String>`完美的解决了in参数的传递问题。原创 2018-05-19 15:43:16 · 19866 阅读 · 0 评论 -
Junit-3.8.1源码分析02----具体分析(执行流程)
上一篇我们总体了解了下junit框架的相关知识。这一篇我们将具体来分析相关的知识点。 我们将从以下几个方面来分析 1. junit的运行流程 2. junit的主要类的具体分析。junit的运行流程为了更好的分析junit的运行流程,我们先写一个测试类。 被测试类Calculator/** * Created by xiang.wei on 2018/3/21 ...原创 2018-03-29 06:50:10 · 1048 阅读 · 0 评论 -
MyBatis 学习笔记(二)MyBatis常用特性运用
如何使用MyBatis在Spring中使用在Spring中我们通过mybatis-spring 中间框架将MyBatis和Spring 两个完全不相关的框架整合起来该框架一方面负责加载和解析MyBatis相关配置,另一方面,该框架还会通过Spring提供的扩展点,把各种Dao接口对应的对象放入IOC容器中。在SpringBoot中使用...原创 2019-04-20 09:14:46 · 1612 阅读 · 0 评论 -
MyBatis 学习笔记(六)---源码分析篇---映射文件的解析过程(一)
概述前面几篇我们介绍了MyBatis中配置文件的解析过程。今天我们接着来看看MyBatis的另外一个核心知识点—映射文件的解析。本文将重点介绍<cache>节点和<cache-ref>的解析。前置说明Mapper 映射文件的解析是从XMLConfigBuilder类的对mappers 节点解析开始。mappers节点的配置有很多形式,如下图所示: <!-- 映...原创 2019-04-28 20:55:35 · 1533 阅读 · 1 评论 -
MyBatis 学习笔记(五)---MyBatis通用类型处理器的实现与自动注册
在实际项目中,我们经常要处理一些枚举类型的数据,例如,订单的状态,已下单,已付款,已发货,订单完成等等,数据库中我们一般存储的一个阿拉伯数字。但是,前台显示的话就需要显示名称给用户看,所以这中间就涉及到一个转化。我们见过太多了前端通过 if, else 写死判断的。这样肯定不方便后期扩展以及维护。针对这种情况,我们思考下能不能直接将枚举直接返回给前端,显示是取value, 保存时传入key?这样的前端就不用写一堆判断了。原创 2019-04-27 19:35:00 · 2049 阅读 · 0 评论 -
MyBatis 学习笔记(四)---源码分析篇---配置文件的解析过程(一)
总体介绍了MyBatis的初始化过程,然后展开来讲了properties元素的解析源码和settings元素的解析源码,其中在对settings进行分析时又重点讲了MetaClass类原创 2019-04-22 19:55:40 · 1521 阅读 · 0 评论 -
MyBatis 学习笔记(三)MyBatis与Spring 和SpringBoot整合
概述接上一篇MyBatis 学习笔记(二)MyBatis常用特性运用在真实的项目我们几乎不会将MyBatis 单独运用到项目中,而是将其整合到Spring框架或者SpringBoot中,本文将通过两个demo演示MyBatis 与Spring和SpringBoot的整合。在Spring中使用在Spring中我们通过mybatis-spring 中间框架将MyBatis和Spring 两个完...原创 2019-04-20 12:00:24 · 1587 阅读 · 0 评论 -
MyBatis 学习笔记(四)---源码分析篇---配置文件的解析过程(二)
今天我们接着来看看其他常用属性的解析过程,重点介绍typeAliases,environments等配置的解析。原创 2019-04-24 22:49:44 · 1408 阅读 · 0 评论 -
Sharding-JDBC的实践
本文首先介绍了分库分表的相关概念,然后,对比了几种主流的分库分表中间件。接着重点介绍了分片策略和相关的算法。最后通过一个demo,实现了对Sharding-JDBC 数据分片的落地。原创 2019-05-12 12:16:39 · 6403 阅读 · 3 评论 -
MyBatis 学习笔记(七)---源码分析篇---SQL的执行过程(一)
前言接上一篇,今天我们接着来分析MyBatis的源码。今天的分析的核心是SQL的执行过程。主要分为如下章节进行分析代理类的生成SQL的执行过程处理查询结果mapper 接口的代理类的生成过程分析首先我们来看看mapper 接口的代理类的生成过程,如下是一个MyBatis查询的调用实例。 StudentMapper mapper = sqlSession.getMapper(Stu...原创 2019-05-31 23:16:48 · 1424 阅读 · 0 评论 -
MyBatis 学习笔记(八)---源码分析篇--SQL 执行过程详细分析
在面试中我们经常会被到MyBatis中 #{} 占位符与`${}`占位符的区别。大多数的小伙伴都可以脱口而出#{} 会对值进行转义,防止SQL注入。而${}则会原样输出传入值,不会对传入值做任何处理。本文将通过源码层面分析为啥#{} 可以防止SQL注入。原创 2019-06-03 09:24:39 · 1510 阅读 · 0 评论 -
Mybatis-PageHelper分页插件的使用与相关原理分析
Mybtis-PageHelper是一块比较实用的分页插件,整合简单,使用方便。原创 2019-07-11 21:12:09 · 2602 阅读 · 2 评论 -
MyBatis 学习笔记(一)MyBatis的简介与使用以及与其他ORM框架的比较
什么是MyBatisMyBatis 前身是Apache基金会的开源项目iBatis,在2010年该项目脱离Apache基金会并正式更名为MyBatis,在2013年11月,MyBatis迁移到了GitHub。MyBatis 是一个轻量级的,半自动的持久化(ORM)框架, 其通过XML映射配置文件或者注解来配置和映射原生类型,接口和Java的POJO(Plain Old Java Object...原创 2019-04-15 23:18:45 · 2649 阅读 · 0 评论 -
全网最全最简单使用easypoi导入导出Excel的操作手册
是不是还在用原生的POI写大量的丑陋而冗余的代码,是不是已经对原生的POI烦透了,那么就来使用easypoi吧,使用简单方便,效率高。原创 2019-01-29 22:29:44 · 27113 阅读 · 21 评论 -
spring-framework源码第4弹------Spring AOP的简单实现(学习tiny-spring)
声明:本代码来源于tiny-spring ,感谢原作者的源码 修改后的代码tiny-spring-copy转载 2018-06-01 13:48:28 · 1302 阅读 · 0 评论 -
tiny-spring 中IoC的实现
原文地址: https://github.com/code4craft/tiny-spring/blob/master/changelog.md 感谢原作者1.step1-最基本的容器git checkout step-1-container-register-and-getIoC最基本的角色有两个:容器(BeanFactory)和Bean本身。这里使用BeanDefinition...转载 2018-06-01 11:00:11 · 1365 阅读 · 0 评论 -
spring-framework源码第3弹------Spring IOC 容器的简单实现(学习tiny-spring)
声明:本代码来源于tiny-spring ,感谢原作者的源码 修改后的代码tiny-spring-copy前言学习Spring源码之前先学习下微缩版的Spring 框架—–tiny-spring 框架。闲话少说,先从IoC 容器开始。IoC 的实现流程读取配置文件,获取资源输入流解析Bean,生成Bean的实例,根据依赖注入Bean的实例读取配置文件Re...转载 2018-05-30 20:03:36 · 1119 阅读 · 0 评论 -
spring-framework源码第2弹------Spring的整体架构
Spring的整体架构Spring 框架是一个分层架构,它包括一系列的功能要素,并被分为大约20个模块,如下图所示: Core Container(核心容器层) Core Container 包含有Core、Beans、Context和Expression Language模块。 Core和Beans模块是框架的基础部分,提供Ioc(控制反转)和依赖注入特性。 Co...原创 2018-05-30 07:46:44 · 1175 阅读 · 0 评论 -
spring-framework源码第1弹------源码运行环境的构建
前言之前一直想看看spring-framework 源码了,奈何,由于蹉跎岁月,总是没有付诸实施。这次终于下定决定去读,去看源码。我相信坚持下来就会有收货。加油吧!少年。闲话少叙,进入主题环境预备spring-framework 源码现在迁移到了GitHub上,构建的方式是:Ant+gradle 。Git 下载地址:https://git-scm.com/downloa...原创 2018-05-29 10:45:46 · 2810 阅读 · 0 评论 -
从零开始造Spring00----从XML中读取Bean并获取实例
xml的配置&amp;amp;lt;bean id=&amp;quot;petStoreService&amp;quot; class=&amp;quot;com.jay.spring.PetStoreService&amp;quot;&amp;amp;gt;&amp;amp;lt;/bean&amp;amp;gt;读取XML采用dom4j来读取xml。在工厂类De原创 2018-06-11 17:54:17 · 1815 阅读 · 0 评论 -
Spring中获取request的几种方法,及其线程安全性分析
原文链接:http://www.cnblogs.com/kismetv/p/8757260.html前言本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性。概述在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址、请求的url、header中的属性(如cookie、授...转载 2018-06-03 16:42:03 · 1095 阅读 · 0 评论 -
Spring Boot 学习03-----Spring Boot 特性
接着来学习Spring Boot,虽然现在很困。SpringApplicationSpringApplication 类提供了一种方便的方式从main()方法中启动应用,在许多情况下,你可以用SpringApplication.run这个静态方法。如下所示:public static void main(String[] args) { SpringApplicatio...原创 2018-04-04 14:26:54 · 959 阅读 · 0 评论