springboot 结合jackson数据脱敏
摘要:在返回字段时有时需要对电话,地址等字段进行脱敏处理 1. 定义枚举脱敏类 使用函数编程,绑定函数操作 public enum DataMaskEnum { /** * 名称脱敏 */ USERNAME(s->s.replaceAll("(\\S)\\S(\\S*)","$1*$2")), /** *
阅读全文
posted @
2024-04-24 10:34
homle
阅读(212)
推荐(0) 编辑
springboot 接口限制访问频率
摘要:1. 自定义注解 @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface RateLimit { //默认最大访问次数 int value() default 3; //默认时间窗口(秒)
阅读全文
posted @
2024-04-23 17:24
homle
阅读(655)
推荐(0) 编辑
springboot 统计接口耗时及指定时间接口访问次数
摘要:1. 使用AOP在不改变原有方法的基础上对接口方法增强,引入依赖 <!--引入AOP依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifact
阅读全文
posted @
2024-04-23 14:48
homle
阅读(2063)
推荐(0) 编辑
集成微信登录
摘要:1. 前期准备 网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。 在进行微信OAuth2.0授权登录接入之前,在微信开放平台(https://open.weixin.qq.com)注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的 AppID 和App
阅读全文
posted @
2023-01-05 21:07
homle
阅读(486)
推荐(0) 编辑
集成阿里云短信服务
摘要:1. 开通阿里云短信服务 2. 获取添加签名管理与模板管理 3. 获取用户AccessKey 4. 搭建service-msm模块 (1)修改pom.xml <dependencies> <dependency> <groupId>com.aliyun</groupId> <artifactId>a
阅读全文
posted @
2023-01-02 22:07
homle
阅读(179)
推荐(0) 编辑
Java 树形结构组装的几种方式
摘要:1. 二级树数据结构 2. 结构组装 // 创建一级和二级的实体类 @Data public class TwoSubject { private String id; private String title; } @Data public class OneSubject { private S
阅读全文
posted @
2022-12-28 21:23
homle
阅读(1585)
推荐(0) 编辑
Java 函数式编程 stream流(二)
摘要:Java 函数式编程 stream流(一) 1. Stream和parallelStream stream是顺序流,由主线程按顺序对流执行操作,而parallelStream是并行流,内部以多线程并行执行的方式对流进行操作,但前提是流中的数据处理没有顺序要求。如果流中的数据量足够大,并行流可以加快处
阅读全文
posted @
2022-11-12 19:29
homle
阅读(153)
推荐(0) 编辑
MybatisPlus 自动填充和乐观锁
摘要:1. 自动填充 Mybatis-plus中可以使用注解对实体类中的一些时间属性自动填充。 1. 实体类上使用自动填充注解 @TableName("uuser") @Data public class User { @TableId(value = "uid",type = IdType.AUTO)
阅读全文
posted @
2022-08-18 22:51
homle
阅读(186)
推荐(0) 编辑
Java 函数式编程 stream流(一)
摘要:Java 函数式编程 stream流(二) 1. Lambda表达式的使用 lambda是JDK8中的一个语法糖,可以对某些匿名内部类的写法进行优化,让函数式编程只关注数据而不是对象。 -基本格式:(参数列表)->{代码} public class LambdaDemo01 { public sta
阅读全文
posted @
2022-06-12 22:26
homle
阅读(126)
推荐(0) 编辑
SpringSecurity常用
摘要:1. 快速入门 1.1 准备工作 我们先要搭建一个简单的SpringBoot工程,设置父工程 添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artif
阅读全文
posted @
2022-05-22 18:06
homle
阅读(150)
推荐(0) 编辑
Gradle常用总结
摘要:1. 安装 安装gradle,配置环境变量,查看版本 2. 在IDEA中创建gradle聚合项目配置 build.gradle文件配置 // 配置allprojects后就可以在所有的子项目中使用父项目中的模块 allprojects { apply plugin: 'java' group 'co
阅读全文
posted @
2022-04-23 11:24
homle
阅读(60)
推荐(0) 编辑
MybatisPlus常用总结
摘要:1. 创建表 CREATE TABLE `user` ( `id` bigint(20) NOT NULL COMMENT '主键ID', `name` varchar(30) DEFAULT NULL COMMENT '姓名', `age` int(11) DEFAULT NULL COMMENT
阅读全文
posted @
2022-04-19 22:47
homle
阅读(295)
推荐(0) 编辑
Java 发邮件
摘要:1. 邮件协议 发送邮件协议:smtp 查收邮件协议:pop3 2. 依赖 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
阅读全文
posted @
2021-12-31 11:17
homle
阅读(30)
推荐(0) 编辑
Java 读写Excel
摘要:1. Java读写excel的两种方式 (1)apache poi (2)alibaba easyexcel 两种方式写入excel的区别; poi会先把所有的数据读入到内存中,然后写入到excel中;easyexcel则是把数据一条一条写入excel中。所以如果有大量数据时,比如有100w条数据写
阅读全文
posted @
2021-12-25 18:20
homle
阅读(7179)
推荐(2) 编辑
Java 内部类使用
摘要:1. 内部类结束 内部类具有封装型,隐藏程序细节。主要有非静态内部类,静态内部类,匿名内部类几种。 2. 非静态内部类 可用把内部类当作外部类的成员变量/方法来使用,需要依赖外部类对象来使用 public class OutClass { private String outStr; public
阅读全文
posted @
2021-12-17 09:43
homle
阅读(549)
推荐(0) 编辑
Java 原子类介绍
摘要:1. 原子类引入 先看一个i++的问题 public class AtomicTest01 { public static int i = 0; public static void main(String[] args) { Runnable task = new Runnable(){ @Ove
阅读全文
posted @
2021-11-17 16:37
homle
阅读(430)
推荐(0) 编辑
Java Servlet介绍 1
摘要:1. Servlet规范介绍 处理请求和发送响应的过程是由Servlet完成的,在Servlet规范中,指定http服务器调用动态资源文件规则;指定http服务器管理动态资源文件示例对象规则。 2. tomcat和Servlet的关系 Tomcat是Web应用服务器,是一个Servlet/JSP容器
阅读全文
posted @
2021-11-15 21:31
homle
阅读(49)
推荐(0) 编辑
Java Servlet介绍 2
摘要:1. 监听器接口 监听器接口用于监控作用域对象生命周期变化时刻以及作用域对象共享数据变化时刻 。 ServletContextListener接口:检测全局作用域对象初始化时刻以及被销毁时刻; (1)重写监听事件处理方法 public class OneListener implements Ser
阅读全文
posted @
2021-11-15 21:30
homle
阅读(35)
推荐(0) 编辑
Java 常用类
摘要:1. 字符串常用类 String类的构造函数: String(); String(byte[]); String(byte[],offset,length); String(char[],offset,length); String(char[],offset,length); public cla
阅读全文
posted @
2021-11-08 12:09
homle
阅读(64)
推荐(0) 编辑