自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JustryDeng

我是一只小小小小鸟~

  • 博客(235)
  • 资源 (1)
  • 收藏
  • 关注

原创 扩展mybatis-plus,保留逻辑删、逻辑查的前提下,扩展硬删除、硬查询

【代码】扩展mybatis-plus,保留逻辑删、逻辑查的前提下,扩展硬删除、硬查询。

2023-12-26 09:50:41 5511

原创 spring-boot集成spring-brick实现动态插件

各plugin-api的包名,应该处于主程序包名(本人这里为plugin.mainPackage=com.example.springbrick.application)的子集。如果不这样设置的话,主程序和插件实现程序加载plugin-api中的类时,将被类加载器隔离。提示:本人这里进行简单验证说明,更多验证可以去文末下载源码,自己跑起来后完成验证。各plugin-api的实现程序,继承不继承父类plugin-api都可以。本文的集成说明,是针对完成此设计、此需求进行的。访问测试类,观察控制台输出。

2023-06-07 15:54:39 16880 7

原创 springcloud-gateway集成knife4j(swagger3)

对于管控了权限的微服务,应放行以下资源。保证启动了knife4j。各微服务&网关引入依赖。

2023-05-09 14:59:13 8329 1

原创 springboot2集成knife4j(swagger3)

此controller中用到的相关模型。对于管控了权限的应用,应放行以下资源。提示:可以借助配置文件,进一步改造。保证启动了knife4j。启动项目后,直接访问。

2023-05-09 00:28:16 3589

原创 MySQL空间函数之点、线、面、几何

mysql 几何数据实现地理位置经纬度处理

2023-03-30 15:22:27 1026

原创 springcloud-gateway集成knife4j(swagger2)

springcloud-gateway集成knife4j

2023-03-12 12:50:02 1682

原创 springboot2集成knife4j(swagger2)

springboot2集成knife4j

2023-03-11 12:49:34 3705

原创 docker安装prometheus和grafana

从零开始搭建监控系统

2023-01-13 16:52:45 3466 1

原创 CentOS7 Docker 安装ELK

elk、docker搭建elk、elk搭建、elk快速搭建

2022-10-20 11:26:34 1211

原创 sharing-sphere单库分表(入门级示例)

sharding-sphere分库分表

2022-10-07 19:50:33 1615

原创 mybatis-plus自controller开始一键生成CURD代码

mybatis-plus生成表对应的entity、service、mapper、controller,同时生成CURD逻辑及相关VO模型

2022-09-11 11:37:46 1019

原创 Spring Security OAuth2入门级使用(示例)

spring security oauth2入门级使用示例

2022-08-31 23:01:32 709

原创 一个功能简单的图片工具类

一个简单的图片工具类,支持添加(多行)水印、自适应水印文字大小,文字转图片等

2022-08-09 18:34:00 2093

原创 对普通bean进行Autowired字段注入

对普通bean进行Autowired字段注入对普通bean进行Autowired字段注入工具类使用测试工具类import lombok.Getter;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.SmartInitializingSingleton;import org.springframework.beans.factory.config.AutowireCapableBean

2022-04-21 13:51:45 659

原创 一个简单的(基于redisson的)分布式同步工具类封装

一个简单的(基于redisson的)分布式同步工具类封装一个简单的(基于redisson的)分布式同步工具类封装背景说明准备工作第一步:引入redisson依赖第二步:配置RedissonClient工具类工具类接口工具类接口的默认实现工具类接口涉及到的两个其它接口使用示例背景说明有些分布式同步逻辑不需要作用于整个方法,只需要作用于指定的业务逻辑代码块即可,类似于synchronized代码块。于是有了下面这个简单的封装类。准备工作提示:此同步工具类中的r

2022-04-19 21:33:16 4247 1

原创 @MapperScan与@Mapper

@MapperScan与@Mapper@MapperScan与@Mapper背景说明@MapperScan与@Mapper的作用通过@Mapper让Mybatis对接口提供代理实现通过@MapperScan让Mybatis对接口提供代理实现背景说明我们在编写mapper时,只需要编写接口而不需要对其实现,由Mybatis框架对接口提供对应的代理实现类(,并将代理实现类注册进容器中)。但是Mybatis是怎么知道需要对哪些接口进行代理实现呢,就是通过@MapperScan与@Mappe

2022-04-17 12:03:39 2536

原创 利用FunctionalInterface获取类、字段、方法

利用FunctionalInterface获取类、字段、方法利用FunctionalInterface获取类、字段、方法背景说明原理说明原理原理示例实际应用应用说明工具类封装测试一下注意事项相关资料背景说明最近有看到同事用mybatis-plus的LambdaQueryWrapper写查询逻辑,其中本来应该传列名的位置直接使用了lambda来完成:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2GkeuNBw-16494820

2022-04-09 13:27:55 959

原创 mapstruct对象复制&转换

mapstruct对象复制&转换mapstruct对象复制&转换简介使用步骤简述第一步:引入相关依赖第二步:定义Mapper转换器第三步:使用Mapper转换器获取Mapper实例的方式default模式spring模式cdi模式和jsr330模式常用知识点target是新对象target是已有对象字段名不同时指定默认值常量值多个字段映射多级字段定位多个source字段大小写不同时忽略字段枚举与字符串枚举与枚举隐式类型(自动)

2022-03-28 19:01:20 5990

原创 URL匹配之AntPathMatcher

URL匹配之AntPathMatcherURL匹配之AntPathMatcher背景说明Ant基础通配符简介AntPathMatcher常用方法介绍及示例常用的构造方法extractUriTemplateVariables(String pattern, String path):根据pattern的规则,从path中抽取对应的变量值isPattern(String str):判断str是否可以作为一个pattern匹配器match(String pattern, String pat

2022-03-21 17:31:21 2270 1

原创 【idea插件】JavaBean(支持泛型)转JSON、生成调用getter代码

插件名:Fast Coding插件源码:https://gitee.com/JustryDeng/idea-plugin-fast-coding插件官网:https://plugins.jetbrains.com/plugin/18351-fast-coding插件使用示例:示例一(常规用法):示例二(识别泛型的用法):...

2022-01-13 20:48:54 1743 6

原创 idea插件编写

idea插件编写idea插件编写准备工作:添加对应版本的JDK编写插件第一步:创建IntelliJ Platform Plugin项目第二步:配置plugin.xml,填写基本信息第三步:编写插件、配置插件方式一:完全手动方式二:借助IDEA插件开发助手IDEA Plugin DevKit Helper,半自动第四步:运行、调试插件第五步(可选):引入依赖第六步:打包插件第七步:安装插件相关资料准备工作:添加对应版本的JDK编写插件时,不同版本的Inte

2021-12-11 15:42:47 6242 4

原创 使用GUI Form快速创建简单界面

使用GUI Form快速创建简单界面使用GUI Form快速创建简单界面简述准备工作使用示例第一步:创建类及对应的form文件第二步:给From中的组件JPanel起一个字段名(,否者下面在生成main方法时会报错)第三步:拖动组件,在画板中完成UI第四步:给组件添加监听第五步:生成main方法第六步:运行main方法,(idea自动)生成GUI对应源码第七步:将项目打成可执行jar包,以便使用相关资料简述GUI Form是IntelliJ IDEA提供的快速创建GU

2021-12-11 10:28:45 11447 1

原创 QDox代码解析

QDox代码解析QDox代码解析简介maven坐标解析被类加载器加载的class解析源码相关资料简介QDox是一种高速、小巧的解析器。主要用于解析java源码,也能用于解析被类加载器加载了的class。maven坐标<dependency> <groupId>com.thoughtworks.qdox</groupId> <artifactId>qdox</artifactId> <ve

2021-11-01 02:30:30 1737 11

原创 args4j简单使用示例

args4j简单使用示例args4j简单使用示例第一步:引入依赖第二步:封装参数对象第三步:在main方法中进行解析测试验证相关资料第一步:引入依赖<dependency> <groupId>args4j</groupId> <artifactId>args4j</artifactId> <version>2.33</version></dependency>

2021-10-14 01:29:56 651

原创 智能合约的函数与函数修饰符

智能合约的函数与函数修饰符智能合约的函数与函数修饰符概述Solidity函数定义payable关键字函数修饰符与函数能力函数修饰符函数能力相关资料概述与传统编程不同的是,在智能合约开发时没有主函数入口这样从上到下的流程逻辑。如果把智能合约理解为一个进程的话,开发的函数是为了提供与该进程交互的接口。Solidity函数定义function func_name(paramlist...) modifiers returns (returnlist...)

2021-10-13 00:14:56 951

原创 class热更新

class热更新class热更新功能与特性maven坐标使用示例功能与特性支持基于 java源码 ,走 文件 进行class热更新支持基于 java源码 ,走 内存 进行class热更新支持基于 class字节码 ,走 文件 进行class热更新支持基于 class字节码 ,走 内存 进行class热更新maven坐标<dependency> <groupId>com.idea-aedi</groupId> <a

2021-10-09 22:52:08 372

原创 Java超实用小组件

componentscomponentscomponent-compile:编译maven坐标使用示例component-decompile:反编译maven坐标使用示例component-decompile:dump出classmaven坐标使用示例component-compile:编译maven坐标<dependency> <groupId>com.idea-aedi</groupId> &lt

2021-09-27 23:23:14 502

原创 mybatis自定义类型处理器

mybatis自定义类型处理器mybatis自定义类型处理器相关说明编写类型处理器启用类型处理器方式一:直接用mybatis总配置类注册处理器方式二:通过配置文件指定处理器所处的包方式三:在编写SQL时,指定类型处理器相关说明本文以java枚举GenderEnum与数据库表列类型char相互转换为例进行示例说明。现有Employee类@Data@Builder@NoArgsConstructor@AllArgsConstructorpublic class

2021-09-12 17:34:46 569 1

原创 初识Solidity、Remix与Geth节点结合部署智能合约

初识Solidity、Remix与Geth节点结合部署智能合约初识Solidity、Remix与Geth节点结合部署智能合约初识SolidityRemix与Geth节点结合部署智能合约第一步:访问http://remix.ethereum.org/,进入以太坊智能合约在线IDE工具Remix第二步:创建并编写sol文件第三步:编译第四步:部署相关资料初识Solidity目前支持智能合约的区块链平台很多,智能合约的开发语言也有多种选择。以太坊智能合约的开发语言主要采用So

2021-09-04 23:15:11 12565 2

原创 区块链开发技术选型

区块链开发技术选型区块链开发技术选型DApp架构公链与联盟链相关资料DApp架构DApp,即Decentralized Application,去中心化应用。我们知道,一般的,一个完整的项目包括:展示操作层、逻辑层、存储层。区块链是可以作为逻辑层(通过智能合约实现逻辑处理)、存储层(通过区块链结构存储数据)的实现的。简单的,我们可以这么说:如果应用中使用到了区块链等去中心化技术,那么我们就可以认为这个应用是DApp应用,不同的只是说这个去中心化技术在应用中的应用占比不同而已。

2021-08-11 00:51:34 8519 1

原创 【Go基础】搭建HTTP服务端

搭建HTTP服务端搭建HTTP服务端ListenAndServe函数HandleFunc函数搭建HTTP服务端(示例)相关资料ListenAndServe函数ListenAndServe函数是用来侦听并启动服务的,它同时完成了绑定ip和端口、启动侦听、提供HTTP服务的作用。格式:func ListenAndServe(addr string, handler Handler) erroraddr:服务器地址handler:服务器提供服务的函数指针,一般填nilH

2021-08-08 14:18:25 2185 2

原创 【Go基础】搭建TCP服务端、客户端

搭建TCP服务端、客户端搭建TCP服务端、客户端TCP基础介绍服务端Listen函数客户端Dial函数搭建TCP服务端、客户端示例相关资料TCP基础介绍  TCP协议(Transmission Control Protocol)是一个安全、可靠、稳定、有序的数据报传输协议。如果说网络层(通过ip地址)解决了主机识别的问题,那么TCP协议则是(通过端口号)解决了如何识别主机上唯一一个进程的问题。  TCP还定义数据报的请求序号和确认序号,以确保消息的准确有序。  TCP通过三次

2021-08-08 14:17:09 941

原创 【Go基础】文件IO的处理、延迟调用

文件IO的处理、延迟调用文件IO的处理打开、创建文件File的相关方法相关资料打开、创建文件格式:func OpenFile(name string, flag int, perm FileMode) (*File, error)name:要打开的文件名flag:打开的权限。其取值采用位指示器方式,参数值如下:O_RDONLY:只读。必选项,与O_WRONLY和O_RDWR三者选其一。O_WRONLY:只写。必选项,与O_RDONLY和O_RDWR三者选

2021-08-08 14:14:26 251

原创 【Go基础】并发编程

并发编程并发编程Go并发的设计相关概念启动协程同步通道channel创建channelchannel的读写单方向channel定时器相关资料Go并发的设计  Go语言最大的特色是并发,而且Go的并发并不像线程或进程那样,受CPU核心数的限制,只要你愿意,你可以启动成千上万个Goroutine协程。相关概念进程:最小的系统资源申请单位。线程:最小的执行单位,一个进程内可以启动多个线程。协程(Goroutine):协程是比线程还要小的执行单位,准确地说

2021-08-08 14:13:30 135

原创 【Go基础】结构体、方法封装、结构体内嵌、接口

结构体、方法封装、结构体内嵌、接口结构体、方法封装、结构体内嵌、接口结构体定义结构体结构体变量的声明、赋值方法封装结构体的组合与内嵌组合内嵌(即:继承)接口相关资料结构体定义结构体在很多语言中,面向对象编程需要使用"class"来定义类,在Go语言中并没有"class"关键字。早Go语言中,星耀面向对象编程,习惯上会先自定义一个类型,这个类型一般会以结构体的形式呈现:type TypeName struct { fieldName1 T1 field

2021-08-08 14:11:45 941

原创 【Go基础】数组、切片、Map

数组、切片、Map数组、切片、Map数组array切片slice键值对map相关资料数组array格式形如:var variable_name [SIZE]variable_type注:数组的长度是固定的示例一:基操import "fmt"func main() { var arr [3]string = [3]string{"张三", "李四", "王五"} fmt.Println(arr) // 输出:[张三 李四 王五]}示例二:如果不赋值,那

2021-08-08 14:08:29 163

原创 【Go基础】函数

函数函数基本介绍匿名函数函数闭包相关资料基本介绍基础格式形如:func function_name ([parameter list]) [return_types] {​ 函数体}func:function的缩写,是定义函数的关键字。function_name:函数名。[parameter_lists]:函数列表,可以有0个或多个。[return_types]:返回值类型,可以有0个或多个返回值。示例一:基操import "fmt"func ma

2021-08-08 14:07:31 81

原创 【Go基础】分支与循环

分支与循环分支与循环相关提示ifif - elseswitch casefor循环模式while循环模式break打断循环相关资料相关提示if后面的小括号可以省略ifimport "fmt"func main() { // 括号写着也行,在编译时,括号会自动被剔除 if (true) { fmt.Println("JustryDeng") // 输出:JustryDeng } if true { fmt.Println("邓二洋") //

2021-08-08 14:06:14 208

原创 【Go基础】常用的print打印

常用的print打印常用的print打印定义枚举相关资料定义枚举Printf需要自己指定格式化Println会按照默认的值表示方法打印并且输出一个换行示例一:import "fmt"func main() { var a, b, c = 100, 3.14, "Hello World" // ******** Printf需要自己指定格式化 /* * Printf不会自动换行, 所以需要使用\n主动换行,如果需要换行的话 * %d 整型占位符

2021-08-08 14:04:36 5832

原创 【Go基础】指针、地址、间接赋值

指针、地址、间接赋值指针、地址、间接赋值定义枚举相关资料定义枚举在值变量前加上&,可以得到值变量的地址在地址变量前加上*,可代表内存单元,即:指向该地址的值变量的值示例一:import "fmt"func main() { var a1 = 10 p1 := a1 fmt.Println("a1 = ", a1) // 输出:a1 = 10 fmt.Println("p1 = ", p1) // 输出:p1 = 10 // 在变量前加上&

2021-08-08 14:03:20 2369

WebService简单示例

这里示例了WebService的入门级搭建、使用。 ps.本人属于入门级程序员。文档中如果有不足之处,欢迎指正!

2018-06-05

空空如也

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

TA关注的人

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