自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_33012981的博客

学习笔记

  • 博客(79)
  • 资源 (3)
  • 收藏
  • 关注

原创 mybatis系列----启动流程

mybatis系列–1–启动流程文章目录`mybatis`系列--`1`--启动流程1 前言2 原生`jdbc`3 `mybatis`的简单用法4 启动流程4.1 `SqlSessionFactoryBuilder().build(inputStream)`4.1.1 `configurationElement(parser.evalNode("/mapper"))`4.1.2 `bindMapperForNamespace()`4.2 `sqlSessionFactory.openSession()

2021-12-18 17:15:26 792

原创 andriod安装linux系统

andriod安装linux系统文章目录`andriod`安装`linux`系统1 准备工作2 安装`busybox`3 安装`linux`系统之前在csdn浏览的时候看到过说安卓手机可以安装linux系统,当作服务器使用,于是今天就来捣鼓一下1 准备工作1.需要一个已经root的手机2.busybox 这是操作指令集,安装了这个,才能使用linux的基本操作指令3.Linux Deploy软件 用来安装linux系统这里就不说如何root手机,不同的手机root的

2021-09-21 15:47:13 4982

原创 cxf相关知识点记录

cxf相关知识点记录1 rest风格相关依赖<!-- rs包 --><dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxrs</artifactId> <version>3.0.1</version></dependency><!-- json数据需要使用的

2021-09-11 15:56:24 356

原创 maven插件的使用

maven插件的使用文章目录`maven`插件的使用1 前言2 `maven-dependency-plugin`2.1 `copy`2.2 `copy-dependencies`2.3 `unpack`2.4 `unpack-dependencies`3 `maven-assembly-plugin`1 前言最近在做某个需求的时候,由于需要将某个功能打成一个jar包,以便其他模块也能使用,于是我就在公司项目下面新建了两个子模块,一个放后台服务,一个放前端的页面(不要问我为什么不用vue啊),然后不可

2021-09-11 14:26:50 1981

原创 Oracle批量删除过期数据

Oracle批量删除过期数据1 前言​ 在这个月的开发中,我做的一个需求是删除某个表中半年前逻辑删除的数据。而生产上一张表的数据量是千万级别的,要清理的数据大概在百万级别。2 初版开始我觉得这个需求挺简单的,脑海里一下子浮现下面这条语句delete from xxx t where t.delete_flag=`Y` and t.last_updated_date< addmonth(sysdate,-6);但是后面在我测试的时候,弊端一下子就暴露出来了,删除5000条用时90秒。。。

2021-07-11 14:24:15 1002

原创 RocketMQ源码--4--Namesrv启动过程

RocketMQ源码–4–NameServer源码文章目录`RocketMQ`源码--`4`--`NameServer`源码1 源码启动`NameServer`2 `NameServer`启动过程2.1 创建`NamesrvController`2.1.1 初始化配置对象`NamesrvConfig`2.1.2 初始化配置对象`NettyServerConfig`1 源码启动NameServer​ 源码启动其实挺简单的,首先你去RocketMQ官网,将源码包下载下来,然后使用idea打开,直接启动

2021-06-05 14:50:16 221

原创 Rocketmq源码--3--整合springboot

Rocketmq源码–3–整合springboot文章目录`Rocketmq`源码--`3`--整合`springboot`1 准备工作2 发送一条同步消息并消费2.1 向`Rocketmq`发送消息2.2 消费`Rocketmq`的消息3 发送一条异步消息并消费4 发送一条单向消息并消费5 发送一条`json`消息并消费6 发送一条延时消息并消费7 消费重试1 准备工作这里我们创建一个父工程,他下面有两个子工程,分别是消费者和生产者工程。在父工程中导入依赖<parent> &

2021-05-29 16:03:25 194 2

原创 RocketMQ源码--2--RocketMQ的简单使用

RocketMQ源码–2–RocketMQ的简单使用文章目录`RocketMQ`源码--`2`--`RocketMQ`的简单使用前言:1 依赖2 发送消息2.1 同步发送2.1 异步发送2.3 单向发送3 消费消息4 顺序消息4.1 顺序消息生产4.2 顺序消息消费5 延时消息前言:使用rocketmq其实非常简单,官方已经给出了各种情况下的简单示例,下面我们就跟随官方的案例来看一下它是如何使用的官方教程地址1 依赖pom中引入这个依赖即可<dependency> &l

2021-05-29 15:53:07 150

原创 RocketMQ源码--1--运行RocketMQ

RocketMQ源码–1–运行RocketMQ文章目录`RocketMQ`源码--`1`--运行`RocketMQ`1 `windows`上运行2 `linux`上运行1 windows上运行其实windows上运行还是挺简单的,只需要配置两个环境变量,然后分别启动两个cmd文件即可首先去官网下载二进制文件包,这里我们使用4.7.0版本,下载地址配置两个环境变量ROCKETMQ_HOME="D:\rocketmq-all-4.7.0-bin-release"NAMESRV_ADDR=

2021-05-23 15:39:11 178

原创 tomcat源码--1--启动流程

tomcat源码–1–启动流程文章目录`tomcat`源码--`1`--启动流程1 启动入口1.1 `Bootstrap`类的静态代码块1.2 `main()`方法2 `init()`方法,初始化`tomcat`2.1 初始化类加载器3 `5`种操作命令3.3 `start`命令,启动`tomcat`服务3.3.1 设置标识3.3.2 反射调用`Catalina`类的`load()`方法,解析`server.xml`文件3.3.2.1 初始化命名策略3.3.2.2 解析`conf`目录下的`server.

2021-05-05 12:26:55 259

原创 springmvc--14--@RequestMapping注解解析原理

springmvc–@RequestMapping注解解析原理文章目录springmvc--`@RequestMapping`注解解析原理1 前言2 大概原理3 具体原理3.1 `RequestMappingHandlerMapping`类的`afterPropertiesSet()`方法3.2 `AbstractHandlerMethodMapping`类的`afterPropertiesSet()`方法3.2.1 获取`spring`容器中所有的`beanName`3.2.2 处理候选`bean`3.

2021-03-22 15:44:11 575

原创 ajax中json对象和json字符串使用

ajax中json对象和json字符串使用文章目录`ajax`中`json`对象和`json`字符串使用1 前言2 `json`字符串和`json`对象的区别3 `3`种数据格式4 测试4.1 项目配置4.2 `ajax`请求发送`&`连接的`key=value`格式的数据4.2.1 `GET`4.2.2 `POST`4.3 `ajax`请求发送`json`对象格式的数据4.3.1 `GET`4.3.2 `POST`4.4 `ajax`请求发送`json`字符串格式的数据5 总结1 前言使用a

2021-03-21 17:13:19 1176 1

原创 springmvc--13--表格视图原理

springmvc–表格视图原理文章目录springmvc--表格视图原理1 介绍2 例子2.1 依赖2.2 实现表格下载功能的视图2.3 配置类2.4 测试3 原理3.1 `AbstractXlsView`3.1.1 `generatesDownloadContent()`3.1.2 `renderMergedOutputModel(model, request, response)`3.1.2.1 创建命名空间3.1.2.2 设置表格内容和样式3.1.2.3 设置响应的内容类型3.1.2.4 渲染视图

2021-03-13 17:25:11 174

原创 springmvc--12--jsp视图解析响应原理

springmvc–jsp视图解析响应原理文章目录springmvc--`jsp`视图解析响应原理1 前言2 `jsp`视图解析器2.1 `AbstractCachingViewResolver`2.1.1 是否使用缓存2.1.2 根据视图名构建缓存的`key`2.1.3 根据视图名创建视图对象2.2 `UrlBasedViewResolver`2.2.1 `createView(viewName,locale)`方法,添加对转发和重定向支持2.2.1.1 判断该视图解析器是否支持处理该视图名2.2.1.

2021-03-12 16:19:31 2297

原创 springmvc--11--ViewResolver和View

springmvc–ViewResolver视图解析器文章目录springmvc--`ViewResolver`视图解析器1 前言2 视图解析器2.1 `AbstractCachingViewResolver`2.1.1 是否使用缓存2.1.2 根据视图名构建缓存的`key`2.1.3 根据视图名创建视图对象2.2 `UrlBasedViewResolver`2.2.1 `createView(viewName,locale)`方法,添加对转发和重定向支持2.2.1.1 判断该视图解析器是否支持处理该视图

2021-03-11 17:46:57 179 1

原创 springmvc--10--@EnableWebMvc注解原理

springmvc–@EnableWebMvc注解原理文章目录springmvc--`@EnableWebMvc`注解原理1 用途2 `@EnableWebMvc`3 `DelegatingWebMvcConfiguration`3.1 `DelegatingWebMvcConfiguration`源码3.2 `WebMvcConfigurerComposite`3.3 `WebMvcConfigurationSupport `3.3.1 静态私有字段1 用途参考spring官网,我们发现@Enabl

2021-03-05 15:17:37 423 1

原创 springmvc--9--静态资源的处理

springmvc–静态资源的处理文章目录springmvc--静态资源的处理1 简单介绍2 转发给`Tomcat`默认的`Servlet`处理2.1 获取能够处理静态资源请求的处理器执行链2.2 获取对应的处理器适配器2.3 处理器适配器调用处理器处理请求3 配置资源请求的路径,放行资源请求3.1 获取能够处理静态资源请求的处理器执行链3.2 获取对应的处理器适配器3.3 处理器适配器调用处理器处理请求3.3.1 根据路径加载静态资源3.3.2 检查处理器是否支持处理该请求3.3.3 设置静态资源的缓存

2021-03-01 17:55:48 347

原创 springmvc--8-ServletModelAttributeMethodProcessor兜底处理@ModelAttribute注解和无注解

springmvc–ServletModelAttributeMethodProcessor兜底处理@ModelAttribute注解和无注解文章目录springmvc--`ServletModelAttributeMethodProcessor`兜底处理`@ModelAttribute`注解和无注解1 简单介绍1.1 创建位置1.2 构造方法2 处理方法参数2.1 `supportsParameter(MethodParameter parameter)`方法2.2 `resolveArgument(M

2021-02-28 16:53:42 1843

原创 springmvc--7--数据绑定器WebDataBinder

springmvc–数据绑定器WebDataBinder文章目录springmvc--数据绑定器`WebDataBinder`2 `ServletRequestDataBinderFactory`2.1 构造方法2.2 `createBinder(NativeWebRequest webRequest, @Nullable Object target, String objectName)`方法,创建属性对应的数据绑定器2.2.1 创建数据绑定器实例2.2.2 初始化数据绑定器3 `Configurabl

2021-02-24 17:50:04 522 1

原创 spring--8--BeanWrapper

spring–BeanWrapper文章目录spring--`BeanWrapper`1 用途2 `BeanWrapperImpl`的继承体系3 `spring`实例化`bean`后创建`BeanWrapper`对象3.1 使用实例化后的对象构建一个`BeanWrapper`3.2 初始化`BeanWrapper`4 `AbstractNestablePropertyAccessor`4.1 `PropertyHandler`4.2 `PropertyTokenHolder`5 `PropertyDesc

2021-02-23 17:53:15 309

原创 spring--7--属性填充之类型转换

spring–属性填充之类型转换文章目录spring--属性填充之类型转换1 类型转换2 属性填充3 `MutablePropertyValues`3.1 `MutablePropertyValues`的继承体系3.2 `PropertyValue`的继承体系3.2.1 构造方法3.2.2 `setConvertedValue(@Nullable Object value)`方法,保存已经类型转换成功的值到`PropertyValue`中3.2.3 `getOriginalPropertyValue()`

2021-02-23 17:52:01 289

原创 springmvc--6--RequestResponseBodyMethodProcessor处理@RequestBody注解和@ResponseBody注解

springmvc–RequestResponseBodyMethodProcessor处理@RequestBody注解和@ResponseBody注解1 用途如其名,它就是用来处理@RequestBody注解和@ResponseBody注解的。我们来看一下它的类图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QNWJrAHk-1613705951169)(image\Snipaste_2021-02-19_10-26-43.png)]从它继承的接口我们也能发现,

2021-02-19 11:40:02 4694

原创 springmvc--5--ServletInvocableHandlerMethod增强的处理器方法

springmvc–ServletInvocableHandlerMethod增强的处理器方法1 用途上一篇文章,由于篇幅问题,未能真正看到执行处理器方法过程(即反射invoke()方法)。这篇文章我们就来详细看一下它是如何解析处理器方法参数,调用处理器方法,处理返回值的。2 ServletInvocableHandlerMethod是什么?ServletInvocableHandlerMethod类,它扩展HandlerMethod,使其支持@RequestStatus注解首先看它的类图[外链

2021-02-10 17:16:29 500

原创 springmvc--4--HandlerAdapter处理器适配器

springmvc–HandlerAdapter处理器适配器文章目录springmvc--`HandlerAdapter`处理器适配器1 用途2 `springmvc`默认的`HandlerAdapter`3 `HandlerAdapter`接口1 用途帮助DispatcherServlet调用处理器方法。DispatcherServlet不管实际如何调用该处理器方法,它只需要调用handlerAdapter.handle(processedRequest, response, mappedHan

2021-02-09 09:35:58 337

原创 springmvc--3--HandlerMapping处理器映射器

springmvc-- HandlerMapping处理器映射器文章目录springmvc-- `HandlerMapping`处理器映射器1 用途2 `springmvc`默认的`HandlerMapping`3 `HandlerMapping`接口4 `getHandler()`方法,`HandlerMapping`接口的唯一方法5 `getHandlerInternal(request)`方法,获取指定请求的`HandlerMethod`处理器方法5.1 根据`url`路径匹配处理器方法5.2 `U

2021-02-07 16:23:49 303

原创 springmvc--2--DispatcherServlet处理请求过程

springmvc–DispatcherServlet处理请求过程1 DispatcherServletDispatcherServlet它就是一个Servlet,所以和普通的Servlet一样,它也是使用Service()方法完成请求的处理过程。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ULCHfAic-1612495749279)(image\Snipaste_2021-02-03_17-09-43.png)]1.1 FrameworkServlet实现Ser

2021-02-05 11:30:06 162

原创 springmvc--1--启动流程

springmvc–启动流程文章目录springmvc--启动流程1 使用`springmvc`搭建一个简单的`web`应用1.1 依赖1.2 配置一个可编程的`Servlet container`1.3 `spring-mvc.xml`配置文件1.4 `controller`控制器2 `XmlWebApplicationContext`创建过程2.1 `ServletContainerInitializer`接口2.2 `SpringServletContainerInitializer`(`2.1`接

2021-02-03 17:13:29 199

原创 spring--12--基于注解的事件监听原理

spring–基于注解的事件监听原理文章目录spring--基于注解的事件监听原理1 `EventListenerMethodProcessor`(处理`@EventListener`注解)2 `postProcessBeanFactory()`方法(`BeanFactoryPostProcessor`接口的唯一方法)3 `afterSingletonsInstantiated()`方法(`SmartInitializingSingleton`接口的唯一方法)3.1 判断是否使用了作用域代理模式3.2 获

2021-02-02 17:54:19 302

原创 spring--11--基于XML的事件监听原理

spring–事件监听机制文章目录spring--事件监听机制1 概念2 `spring`提供的标准事件2.1 自定义事件2.2 发布事件3 事件多播器`ApplicationEventMulticaster`3.1 `spring`启动过程中自动创建事件多播器3.2 默认的事件多播器`SimpleApplicationEventMulticaster`4 监听器监听事件4.1 `spring`自动识别监听器4.2 自定义监听器监听自定义事件5 使用应用事件发布器`ApplicationEventPubl

2021-01-31 16:47:05 164

原创 spring--2--bean的生命周期

spring–2--bean的生命周期文章目录spring--2--`bean`的生命周期1 什么是`bean`的生命周期?2 预实例化`bean`3 `getBean(beanName)`实例化`bean`3.1 `getSingleton(beanName)`方法(获取容器中`beanName`对应的已经实例化的`bean`对象)3.2 `getObjectForBeanInstance`方法(根据用户需要来获取相应的`bean`对象)3.3 `markBeanAsCreated`方法(标记`bea

2021-01-29 18:20:29 103

原创 spring--10--类型转换Converter

spring–7--类型转换Converter文章目录spring--7--类型转换`Converter`1 用法1.1 `Converter`接口,`1:1`转换1.2 `ConverterFactory`接口,`1:N`转换1.3 `GenericConverter`接口,`N:N`转换2 `ConversionService`统一转换服务2.1 `spring`默认的`ConversionService`(`DefaultConversionService`)2.1.1 `Converters`经

2021-01-18 18:05:37 266

原创 spring--9--类型转换PropertyEditor

spring–6--类型转换PropertyEditor和Converter文章目录spring--6--类型转换`PropertyEditor`和`Converter`1`PropertyEditor`1.1 一个小例子1.2 原理1.2.1 `MutablePropertyValues`的结构1.2.2 `BeanWrapperImpl`的作用1.2.3 将`MutablePropertyValues`中的值填充到实例中1.2.3.1 使用`BeanDefinitionValueResolver`进行

2021-01-14 16:41:31 188 1

原创 spring--6--spring之ConfigurationClassPostProcessor源码

spring之ConfigurationClassPostProcessor源码解析1 用途解析@Configuration注解我们先来看一下这个类的类图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VbAGGsQm-1608794341857)(image\Snipaste_2020-12-22_15-57-15.png)]很明显,这个类是一个BeanFactoryPostProcessor(BeanFactory增强器),它会在容器中其它bean(普通bean,

2020-12-24 15:19:21 200

原创 spring--4--spring之AutowiredAnnotationBeanPostProcessor源码

spring中注解方式的自动注入1 项目xml配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/c

2020-12-22 15:44:41 389 1

原创 23种设计模式总结

23种设计模式总结1 单例模式单例模式很容易理解,就是每次需要使用一个类对象的时候,我们去拿我们第一次new的对象,而不是每次需要都去new一个,同时我们也需要限制该对象不能直接new出来。单例模式有很多写法,它里面又分为懒汉和饿汉1.1 最简单的单例模式(饿汉,线程安全,推荐使用)public class SingletonTest { private final static SingletonTest instance = new SingletonTest(); /**

2020-12-20 17:39:02 205

原创 spring--5--spring之CommonAnnotationBeanPostProcessor源码

spring之CommonAnnotationBeanPostProcessor源码1 作用首先来说一下这个BeanPostProcessor的作用(1)处理@Resource注解,实现ByName的自动注入功能。(2)处理@PostConstruct和@PreDestroy注解,指定初始化方法和销毁方法,使用注解的方法相比于实现接口可以降低spring的耦合。接下来我们看一下这个BeanPostProcessor的类图,从类图上我们就能知道上述功能的处理方法是哪个[外链图片转存失败,源站可能有

2020-12-20 17:28:11 397

原创 spring--3--spring中的非注解方式自动注入

spring中非注解方式的自动注入首先,我们先来说一种xml配置文件配置的自动注入。这是一种过时的技术,现在基本上没人用了。我以一个例子来说明一下这个技术1 项目xml配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

2020-12-14 17:20:10 996 2

原创 spring--1--探究spring的启动流程

探究spring IOC源码1 一个简单的spring程序//声明一个可以读取xml配置文件的容器ClassPathXmlApplicationContext classPathXmlApplicationContext=new ClassPathXmlApplicationContext();//设置配置文件classPathXmlApplicationContext.setConfigLocation("spring-context.xml");//刷新容器,这是spring中最

2020-12-08 17:57:35 202

原创 七牛云文件上传和文件管理

七牛云文件上传和文件管理七牛云官网教程:https://developer.qiniu.com/kodo/sdk/1239/java项目github地址:https://github.com/lx972/qiniu-test1 上传上传有两种方式(1)服务端直传:服务端直传是指客户利用七牛服务端SDK从服务端直接上传文件到七牛云,交互的双方一般都在机房里面,所以服务端可以自己生成上传凭证,然后利用SDK中的上传逻辑进行上传,最后从七牛云获取上传的结果,这个过程中由于双方都是业务服务器,所以很少利用

2020-11-16 18:04:37 3483

原创 POI的简单使用

POI报表1 依赖目前的最新版本<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version></dependen

2020-11-13 17:03:55 412

MFC实现的开机自启程序

基于MFC和VS2015实现的开机自启程序,可关闭自启,代码非常简洁

2018-05-19

MFC换肤非常方便

MFC换肤,内含20多种皮肤,还可以自己开发皮肤,支持Unicode

2018-05-19

利用MFC和GDI+实现桌面雪花特效

利用MFC和GDI+实现桌面雪花特效,基于VS2015的,提供两种雪花

2018-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除