自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 EXCEL下划线转驼峰

公式:

2024-04-24 11:03:08 134

原创 解决mock单元测试中 无法获取实体类xxx对应的表名

【代码】解决mock单元测试中 无法获取实体类xxx对应的表名。

2024-01-04 11:19:44 819

原创 sftp工具类(支持ftp、sftp等文件操作)

【代码】sftp工具类(支持ftp、sftp等文件操作)

2023-12-13 16:51:52 518

原创 ftp工具类(不支持sftp)

【代码】ftp工具类(不支持sftp)

2023-12-13 16:49:09 417

原创 使用Mockito mock静态方法

【代码】使用Mockito mock静态方法。

2023-10-14 20:14:37 437

原创 用于加签验签的加解密算法

【代码】用于加签验签的加解密算法。

2023-10-12 17:09:25 296

原创 反射调用private方法的坑

使用反射调用私有方法时,发现空指针异常,无法直接注入导致空指针异常。加入如下代码后,恢复正常。

2023-08-07 15:13:11 174

原创 使用存储过程插入数据

【代码】使用存储过程插入数据。

2023-06-26 15:36:04 224

原创 08.Scope

08.Scope。

2023-06-13 22:50:56 301

原创 06.Aware接口

但是,当配置类中有一个Bean是BeanFactoryPostProcessor类型的时候,spring需要先创建这个工厂后处理器,那么将会直接初始化该配置类,将工厂后处理器创建出来;而创建的时候,Bean后处理器还没有注册,因此Autowired和PostConstruct不会生效。可以发现,当这个配置类初始化的时候,并没有注入applicationContext,且初始化方法也没有执行。这两个接口是相对应的,前者提供了初始化方法,后者提供了销毁方法。2. 注册 BeanPostProcessor。

2023-06-13 00:12:18 339

原创 07.初始化和销毁

07.初始化和销毁。

2023-06-13 00:11:04 245

原创 05.BeanFactory后处理器

BeanFactory后处理器使用方式二 实现自己的BeanFactory后处理器自定义一个类,实现BeanDefinitionRegisterPostProcess接口,重写postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)方法;该方法本质上就是通过识别类和类中的方法上的注解,对定义的Bean进行处理。重点为下面几个类:注:BeanDefinitionRegisterPostProcess继承自BeanFacotryPo

2023-06-13 00:09:51 918

原创 04.Bean后处理器

Bean后处理器。

2023-05-10 23:47:05 80 1

原创 RocketMQ部署

本教程使⽤的是RocketMQ4.7.1版本,建议使⽤该版本进⾏之后的demo训练。运⾏版:https://www.apache.org/dyn/closer.cgi?源码:https://www.apache.org/dyn/closer.cgi?

2023-04-26 00:54:43 1026

原创 RocketMQ整合代码

Spring Cloud Stream 是⼀个框架,⽤于构建与共享消息系统连接的⾼度可扩展的事件驱动微服务。该框架提供了⼀个灵活的编程模型,该模型基于已经建⽴和熟悉的 Spring 习惯⽤法和最佳实践,包括对持久 pub/sub 语义、消费者组和有状态分区的⽀持。:负责提供与外部消息传递系统集成的组件。:外部消息系统和最终⽤户提供的应⽤程序代码(⽣产者/消费者)之间的桥梁。Message:⽣产者和消费者⽤来与⽬标绑定器(以及通过外部消息系统的其他应⽤程序)进⾏通信的规范数据结构。

2023-04-24 00:31:25 757

原创 RocketMQ基本概念

RocketMQ。

2023-04-24 00:25:29 825

原创 RocketMQ高级概念

RocketMQ主要由ProducerBrokerConsumer三部分组成,其中Producer 负责⽣产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应⼀台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分⽚存储于不同的 Broker。⽤于存储消息的物理地址,每个Topic中的消息地址存储于多个 Message Queue 中。由多个Consumer 实例构成。

2023-04-24 00:19:04 594

原创 数据库定时备份Linux脚本

【代码】数据库定时备份Linux脚本。

2023-04-18 23:35:03 190

原创 使用jasypt为springboot配置文件加密

使用jasypt为配置文件加密先看一份典型的配置文件这是节选自某个典型的Spring Boot项目的application.properties配置文件;这乍一看没啥问题,很多人会觉得理所当然。包括我自己也看到过很多的项目(包括很多开源项目)是这么写的。但仔细一琢磨,发现:很多项目的配置文件里,包括数据库密码、缓存密码、亦或是一些第三方服务的Key都是直接配在里面,没有做任何加密处理!之前倒是看到过一个例子,一个程序员把自己公司的项目代码上传到了自己的GitHub仓库里了,结果配置文件忘了处理,导致公司数

2023-04-18 23:27:35 783

原创 幂等性问题与解决方案

幂等概念来自数学,表示N次变换和1次变换的结果是相同的。这里讨论在某些场景下,客户端在调用服务没有达到预期结果时,会进行多次调用,为避免多次重复的调用对服务资源产生副作用,服务提供者会承诺满足幂等。HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的副作用(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。幂等多次请求对资源没有副作用(比如查询数据库操作,没有增删改,因此没有对数据库有任何影响)。

2023-04-18 18:55:17 403

原创 03.Bean的生命周期

Bean的生命周期。

2023-04-14 00:30:12 51

原创 02.容器实现BeanFactory和ApplicationContext实现

容器实现BeanFactory和ApplicationContext实现。

2023-04-13 23:54:28 401

原创 01.容器接口BeanFactory和ApplicationContext

容器接口BeanFactory和ApplicationContext。

2023-04-13 23:54:04 344

原创 00.如何学习spring

你只需具备收获。

2023-04-13 23:52:01 357

原创 SonarQube安装教程

若要下载别的版本可参考:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip修改链接中版本号即可。下载地址:https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/进入cd /opt/sonar/sonarqube-7.7/bin/linux-x86-64/下,执行sonar.sh即可启动。

2023-04-04 00:40:37 1754

原创 使用FileBeat+Logstash+钉钉实现日志预警

优势:Logstash 主要的优点就是它的灵活性,主要因为它有很多插件,详细的文档以及直白的配置格式让它可以在多种场景下应用。我们基本上可以在网上找到很多资源,几乎可以处理任何问题。劣势:1.性能以及资源消耗(默认的堆大小是 1GB)。尽管它的性能在近几年已经有很大提升,与它的替代者们相比还是要慢很多的。2.这里有 Logstash 与 rsyslog 性能对比以及Logstash 与 filebeat 的性能对比。它在大数据量的情况下会是个问题。

2023-03-18 17:33:26 1082

原创 TDD三定律和5条规则

通俗来讲,以上三定律对应如下。

2023-03-18 17:20:12 2043

原创 敏捷相关的简称

DDD指的是Domain Drive Design,也就是领域驱动开发,DDD实际上也是建立在这个基础之上,因为它关注的是Service层的设计,着重于业务的实现,将分析和设计结合起来,不再使他们处于分裂的状态,这对于我们正确完整的实现客户的需求,以及建立一个具有业务伸缩性的模型。测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论,TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。也就是行为驱动开发。

2023-03-17 17:56:32 477

原创 git统计命令

例如:git log --pretty=format:“”%h - %an, %ar : %s""–abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。例如: git log --since=2.weeks 显示最近两周的提交。-p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新。–until, --before 仅显示指定时间之前的提交。–since, --after 仅显示指定时间之后的提交。

2023-03-17 11:14:25 628

原创 Scrum敏捷开发-开发流程(简洁粗略版)

回顾开发阶段遇到的问题每人发放小卡片,给出3-5分钟列举出本次开发中个人觉得好的和不好的点每人宣读卡片,并说明为什么这样觉得,项目经理负责记录总结大家一起进行总结,讨论哪写优点可以复用,哪写缺点可以避免和优化项目经理进行记录。

2023-02-10 15:52:54 671

原创 12 系统数据库和数据库工具

sql文件需要使用source工具导入,文本文件需要使用mysqlimport导出。:由于服务器生成的二进制日志文件是以二进制的格式保存的,想要查看就需要使用该工具查看。:客户端查找工具,可以查找存在哪些数据库、数据库中的表和索引、表中的列等信息。:用来检查服务器状态、查看配置和版本等信息、创建和删除数据库等。:数据库备份工具,可以将数据备份为sql或者文本格式的文件。:不需要进入mysql客户端,就可以执行sql并退出。

2022-12-21 22:40:33 270

原创 10 Mysql中各种锁

MySQL中的也存在一些类型的锁,用来保证多个连接同时操作数据时的安全即数据的一致性问题;同时,虽然锁能够解决一些数据的一致性和有效性,但是我们还是要选择合适的锁来降低锁对于并发问题的影响。

2022-12-21 21:56:48 444

原创 09 视图

有一个不符合即报错local:使用的时候需要显式声明,

2022-12-21 21:53:20 286

原创 11 深入了解InnoDB引擎

MySQL5.5版本开始默认使用Innodb引擎,因为它擅长事务处理,具有崩溃恢复特性,在日常开发中使用更加广泛下图为Innodb引擎架构图,左侧为内存结构,右侧为磁盘结构Buffer Pool缓冲池是主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,从而减少磁盘的IO,加快处理速度在执行增删改查的时候,先操作缓冲池Buffer Poll中的数据,缓冲池中找不到再去磁盘中加载并缓存,然后再以一定的频率将数据从内存中刷新到磁盘Changer Buffer更改缓冲区(针对非唯一二级索引页),在执行DML

2022-12-20 22:09:37 436

原创 5月13号-欣悦

5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节。此次查询只需要掌握mysql中show status,show processlist命令,以及命令mysqladmin。4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)不论是单个参数,还是多个参数,一律都建议使用注解@Param(“”)能用 #{} 的地方就用 #{},不用或少用 ${}

2022-12-12 23:12:02 232

原创 Java使用正则表达式从字符串中提取数字

【代码】Java使用正则表达式从字符串中提取数字。

2022-11-30 16:35:50 2033

原创 08 SQL优化

上一篇文章记录了索引的创建、使用、设计,除了索引方面还需要注意平日对于SQL的使用,对SQL进行优化;SQL的优化是建立在索引使用的基础上这篇笔记将从以下7个方面对SQL进行优化。

2022-11-28 21:03:07 437

原创 07 索引

是一种帮助数据库的;通过索引可以快速获取到符合条件的数据的内存地址,避免全表扫描。

2022-11-24 20:53:11 317

原创 06 存储引擎

存储引擎是存储数据、建立索引、进行查询和更新的实现基础;存储引擎是基于单个表,而不是基于库# 查看支持的存储引擎# innodb_file_per_table:决定使用innodb引擎的每张表一个文件;默认值为ON打开我们经常使用的存储引擎有以下几种:InnoDB(5.7开始默认)、MyISAM(5.7之前默认)、MEMORY等简单介绍下以下几种事务外键锁形式InnoDB支持支持行级锁MyISAM不支持不支持表级锁MEMORY不支持不支持-

2022-11-13 19:48:21 231

原创 05 事务以及事务可能引发的问题

参考我的博客-数据库中事务的隔离等级及如何设置:https://blog.csdn.net/m0_46836425/article/details/121851867。,保证自己不会受别的事务影响。

2022-11-13 00:54:36 60

加了个人书签的火星人敏捷开发收藏

加了个人书签的火星人敏捷开发收藏

2023-02-10

空空如也

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

TA关注的人

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