java
文章平均质量分 65
努力的蚂蚁【你若】
《坚持有效输出,创造价值无限》
展开
-
手把手教你 使用SpringBoot 实现业务数据动态脱敏
数据脱敏(),顾名思义,是屏蔽敏感数据,对某些敏感信息(比如,身份证号、手机号、卡号、客户姓名、客户地址、邮箱地址、薪资等等 )通过脱敏规则进行数据的变形,实现隐私数据的可靠保护。业界常见的脱敏规则有,替换、重排、加密、截断、掩码,用户也可以根据期望的脱敏算法自定义脱敏规则。良好的数据脱敏实施,需要遵循如下两个原则, 第一,尽可能地为脱敏后的应用,保留脱敏前的有意义信息;第二,最大程度地防止黑客进行破解。这里我画一张图来更清楚的理解什么是数据脱敏。数据脱敏又分为静态数据脱敏(SDM)和 动态数据脱敏(原创 2023-08-09 22:54:41 · 1226 阅读 · 0 评论 -
SpringBoot如何优雅的实现重试功能
如何优雅的实现重试原创 2023-06-13 22:22:11 · 2133 阅读 · 2 评论 -
记录一次从15w条数据的excel导入到数据库优化过程(22秒到3秒)
记录一次15w数据的excel导入到数据库优化过程(22秒到3秒)原创 2023-02-25 22:55:06 · 5942 阅读 · 1 评论 -
SpringBoot动态导出word文档(完美实整教程 复制即可使用,不能实现你找我)
POI-TL是word模板引擎,基于Apache POI,提供更友好的API。原创 2023-02-03 09:07:27 · 10882 阅读 · 10 评论 -
java 身份证号和手机号中间加* 工具类
java 身份证号和手机号中间进行加*,防止用户信息泄露原创 2022-10-26 21:52:22 · 1188 阅读 · 0 评论 -
jdk1.8 stream api常用方法
文章目录@[toc]常用方法forEach()sorted()filter()limit()skip()拓展,分页distinct()map()findFirst()reduce()groupingBy()toMap()数值流方法虽然jdk1.8已经出了很久很久,但是我在实际项目中用的很少,最近使用到了stream api。感觉有些常用的方法非常方便,能够通过很少代码实现我的需求,后悔没有早一点了解。所以特此花了一些时间对常用的api方法进行了整理和熟悉。常用方法例如:以日志数据为例初始化5条数据原创 2022-01-18 23:30:00 · 1012 阅读 · 1 评论 -
Mybatis-Plus 升级到3.4.3版本后 分页失效
最近把Mybatis-Plus升级到了3.4.3版本,发现分页失效了。原创 2021-12-08 17:22:00 · 2062 阅读 · 7 评论 -
获取每天最高分数且最新的数据(java实现)
背景这篇讲一下我最近遇到的一个问题,并记录保存,方便下次直接查看。刚开始会讲一些sql操作,后面会讲java代码实现,本文会从三种方法来实现该需求,如果你也正在遇到同样的问题,可以根据自身需求来选择哪种方式实现。需求提供一张表,字段有id、score、create_time(年月日)。查询出每天的最高分最新的数据列表。提供数据表结构CREATE TABLE `t_score` ( `id` int NOT NULL AUTO_INCREMENT, `score` int DEFAULT原创 2021-09-17 22:30:17 · 797 阅读 · 0 评论 -
SpringCloud组件 OpenFeign组件声明式服务调用
什么是openFeign官网:Feign是一个声明式 Web 服务客户端。它使编写 Web 服务客户端变得更容易。要使用 Feign 创建一个接口并对其进行注释。它具有可插入的注释支持,包括 Feign 注释和 JAX-RS 注释。Feign 还支持可插拔的编码器和解码器。Spring Cloud 添加了对 Spring MVC 注解的支持,并支持使用HttpMessageConvertersSpring Web 中默认使用的注解。Spring Cloud 集成了 Eureka、Spring Cloud原创 2021-06-29 21:54:43 · 171 阅读 · 1 评论 -
最快最简便的创建一个springboot项目
首先说明,这篇文章是本人自行研究搭建的,学习springboot怎么搭建的过程中遇到很多问题,所以记录了一下。如果有些做的不规范,还望指正!1. 点击进入spring官方网站:https://spring.io/点击projects,网页拉,点击springboot。可以看到Quick start,点击spring Initializr然后看到如下界面:点击绿色按钮...原创 2018-12-18 14:23:49 · 367 阅读 · 0 评论 -
struts2实现文件上传和下载
action private File upload;//上传文件属性private String uploadFileName;//上传文件名称private String uploadContentType;//上传文件类型private String uploadPath;@Overridepublic String execute() throws Except原创 2017-08-29 11:18:23 · 336 阅读 · 0 评论 -
配置swagger最简单的做法及如何使用
1.了解swagger Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化Resuful风格的Web服务。重要是开源好用。2.如何搭建(复制即可用)(1)在pom文件中加入swagger依赖<!--swagger--><dependency> <groupId>io.springfox</gro...原创 2018-11-08 10:48:35 · 987 阅读 · 2 评论 -
SpringBoot整合nacos入门
什么是nacosnacos支持基于dns和基于rpc的服务发现,可以作为springCloud的注册中心、动态配置服务、动态dns服务。nacos注册中心分为server和client,server采用java编写,为client提供注册发现与配置服务。...原创 2021-05-29 21:47:22 · 1076 阅读 · 0 评论 -
最全 如何减少代码中的if-else
1. 三目运算符可以理解为条件 ?结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。实例:public String handle(int code) { if (code == 1) { return "success"; } else { return "error"; }}对于条件只有两个的情况下,可以使用三目运算符来解决。优化:public String handle(int原创 2021-07-20 14:11:00 · 679 阅读 · 0 评论 -
Spring Event 事件发布/监听机制 详解并使用
Spring的事件监听(也叫事件驱动)是观察者模式的一种实现,只要是观察者模式,就含有主题(针对该主题的事件),发布者(发布主题或事件),订阅者(监听主题的人)。有三个部分组成,事件(ApplicationEvent)、监听器(ApplicationListener)和事件发布操作。作用:使用事件机制我们可以将相互耦合的代码解耦,从而方便功能拓展和调整。1. 观察者模式简介当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖原创 2021-07-17 22:03:34 · 18734 阅读 · 14 评论 -
深入理解线程池ThreadPoolExecutor并实践使用
讲线程池之前,先讲一下线程。什么是线程线程又分单线程和多线程;单线程,就是一条线程在执行任务。多线程,就是创建多条线程同时执行任务。比如我们在使用浏览器浏览网页,如果每次只能打开一个窗口,这就是单线程;我们现在浏览器肯定是可以打开多个窗口,例如一个窗口我们可以听音乐,另外窗口还可以看新闻,这就是多线程的概念。并行和并发也是这个概念,比如说你在开车,然后朋友打电话过来,并行:一边开车,一边使用蓝牙耳机接听电话,同时处理;并发:在路边停车,接电话,接完电话继续开车。什么是线程池 创建线原创 2021-06-27 00:03:20 · 877 阅读 · 2 评论 -
使用EasyPoi快速实现excel导入导出功能
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法EasyPoi快速实现excel导入导出功能添加依赖<!--easypoi依赖--><dependency> <groupId>cn.afterturn</groupId> <artifactId&原创 2021-06-25 14:14:10 · 695 阅读 · 1 评论 -
java常用数据类型相互转换
1. 对象转MapMap map= JSON.parseObject(JSON.toJSONString(entity),Map.class);System.out.println(map.toString());2. 对象转jsoncom.alibaba.fastjson.JSONObjectJSONObject jsonObject= (JSONObject) JSON.toJSON(entity);3.map转对象Map map=new HashMap();map.p.原创 2021-05-21 15:48:36 · 268 阅读 · 3 评论 -
MyEclipse10.0配置Android环境最详细的步骤详解
为了同时在MyEclipse10.0上进行Android开发,需要配置开发环境,主要有三个部分如下。 1、JDK,同时配置相应环境变量。 2、Android SDK 下载后解压缩需要把SDK目录下的tools和platform-tools加入环境变量。 3、MyEclipse中安装ADT插件下载Android SDK链接 http://dl.google.c...原创 2018-10-11 12:12:19 · 1181 阅读 · 0 评论 -
asp+access实现增删改查
最近了解了下asp,踩了不少坑,就想着记录下,方便以后查看。谁说编程语言大部分一样的,其实还是有区别的。作为小白的我就遇到很多语法问题,多亏了有两位大佬知道。后台开发技术使用asp,数据库采用access,实现增删改查1.添加先写一个添加页面,如下图添加页面的代码如图:使用asp需要给input框起一个name值,如框内所示,后面后讲到。接下来,获取用户输入的值,添...原创 2018-10-10 16:35:40 · 7382 阅读 · 4 评论 -
详细的springboot整合activeMq安装与使用(上)
最近在学习activeMQ消息中间件,特此记录一下,方便以后使用。如果有不严谨的地方,欢迎大家提出,共同进步呀。本章,会先讲解activeMq的基本介绍、安装、和更改用户名、端口号。下节会仔细讲解springboot整合activeMq与使用。如果已经安装好activeMq,请直接移步下篇文章。 ActiveMq是Apache所提供的一个开源的消息系统,完全采用java来实现,所...原创 2019-09-15 00:22:41 · 193 阅读 · 0 评论 -
springboot项目更改为https
众所周知,http请求是不安全的。如我们打开百度,可以发现:百度的开头是https开头,左边也会显示安全,说明证书是安全的。而我们创建的springboot项目默认是http开头的。这篇文章,很详细的记录了全过程。链接地址:https://mp.weixin.qq.com/s/PesIzC-Y-7IZn20psBKO6Q欢迎朋友们关注支持哦...原创 2019-09-04 20:05:15 · 1320 阅读 · 0 评论 -
springboot整合邮件发送(上)
本文中记录整合smtp实现发送邮件的全过程,并推荐自己的公众号,会记录一些学习的技术和日常记录,欢迎大家关注哦。微信搜索公众号:ssw胜维科技。实现发送邮件地址:https://mp.weixin.qq.com/s/Hi2-28STDCYwW0hmOTWGjQ...原创 2019-08-22 12:07:41 · 840 阅读 · 0 评论 -
springboot项目集成ssm
最近在面试,面试官问我会不会自己搭建ssm框架,我说会,然后问到了一点知识没回答上来,可能当时搭建的时候很多东西没有理解透彻,于是就重新搭建一下,有一个深刻的记忆。也特此记录一下。如何搭建springboot这里就不多说了,请看这篇搭建springboot项目接下来开始集成一个ssm项目:第一步:引入spring,springmvc,mybatis,mysql的依赖<...原创 2019-06-18 14:15:08 · 2079 阅读 · 1 评论 -
统计最近七天的数据访问量 mysql
最近做了一个日志功能,当用户访问接口后,会记录哪个接口,返回结果等信息,记录请求地址,ip,请求方法,参数和请求时间。没有关联到个人。数据表如下:现在想做一个统计最近七天的访问接口数量,之前想的有些复杂。首先获取今天的日期,根据日期查询数量,再查询出近七天的数量。后来发现sql可以直接解决,CURDATE() 函数返回当前的日期。curdate()直接返回当天查询最近...原创 2019-01-23 10:50:47 · 3239 阅读 · 0 评论 -
springboot项目配置druid详解,遇到的各种问题及解决办法
简介,什么是Druid Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查、SQL翻译等,程序员可以通过定制来实现自己需要的功能。springboot项目如何配置druid,遇到的问题及解决办法...原创 2019-01-16 11:12:25 · 14462 阅读 · 6 评论 -
如何部署tomcat,访问web项目
使用tomcat作为服务器运行项目。安装jdk, 解压完成,双击打开至此,jdk安装完成。接下来要配置环境变量。 计算机,属性。首先,新建JAVA_HOME,变量值为jdk安装路径。寻找path变量,变量值最后面添加 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;如果最后没有分号;需要手动添加英文的分号隔开...原创 2018-12-17 22:17:40 · 536 阅读 · 0 评论 -
tomcat做成服务,开机项目自己跑起来
想把项目跑起来,又不想每次都去点击startup去启动tomcat那只猫。其实我们可以把tomcat做成系统服务,设置成自启动,这样开机后我们的tomcat项目就跑起来了。具体步骤如下:1.安装jdk,配置系统环境变量。具体配置,可参考安装和配置jdk配置成功后,输入以下命令来测试是否安装成功!java -version我装的是jdk1.7版本的,显示这个界面,就代表j...原创 2019-02-20 08:44:34 · 615 阅读 · 0 评论 -
手把手教你springboot优雅的实现多数据源,看这一篇就够了
Spring boot提供了AbstractRoutingDataSource 根据用户定义的规则选择当前的数据源,这样我们可以在执行查询之前,设置使用的数据源。实现可动态路由的数据源,在每次数据库查询操作前执行。它的抽象方法 determineCurrentLookupKey() 决定使用哪个数据源。具体实现数据准备test1数据库准备用户表users,test2数据库准备菜单表menu用户表测试数据【张三】,菜单表测试数据【用户列表】所需依赖<!--aop-->原创 2021-04-14 21:22:23 · 7430 阅读 · 10 评论 -
深入认识Spring两大特性IOC和AOP
众所周知,Spring有两大特性:Ioc和Aop。IOC:英文全称是Inversion of Control,意为控制反转/依赖注入。AOP:英文全称是Aspect-Oriented Programming,意为面向切面编程。总的来说,Spring是一个轻量级的控制反转(Ioc)和面向切面编程(Aop)的容器框架.Spring常用注解 注解名称 备注 @Controller 标注控制层 @Service 标注服务层 @Component原创 2021-03-22 19:32:38 · 463 阅读 · 0 评论 -
idea 新建springboot项目,一启动自动停止,运行不起来
今天在idea新建一个springboot项目,选择的是jdk1.8,idea用的是2020.3.2没想到,一运行项目自动停止,根本启动不起来。创建项目输入项目名就开始创建了项目结构如下等待下载好依赖包启动后自动停止解决方法修改配置文件,我喜欢用2.1.7.RELEASE,这个我改成2.1.7因为比较稳定加入web依赖包第一步:把.idea文件删除第二步:清缓存并重启再次启动第三步:删除test目录再次启动,就可原创 2021-03-20 21:59:20 · 4630 阅读 · 2 评论 -
手把手教你 在windows上安装oracle数据库
首先需要下载oracle数据库安装包,这个可以去官网上进行下载,但是官网会比较慢,也可以通过下方的百度云链接进行下载。链接:https://pan.baidu.com/s/1-TZib9er332ARWh4nrGVCQ 提取码:r5et 复制这段内容后打开百度网盘手机App,操作更方便哦这里提供百度云下载oracle安装包,因为官网下载确实很慢。下载好解压文件双击setup.exe,等待一会。如果提示未找到文件WFMLRSVCApp.ear将下面图片1的四个文件复制到图原创 2021-03-02 21:23:04 · 3153 阅读 · 0 评论 -
SVN服务器 搭建和使用
什么是svnSVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。SVN的作用SVN是一种技术性更加安全的产品,的实现了系统和控制两方面的结合。一方面可以将系统整体的安全功能有效地分布在分支系统中,进而保证分支系统能正常运行,从而使各分支系统能够互补,最终在系统整体性的安全性得以保障,通过均衡原则实现最终追求安全的目的。如何下载svnServer下载地址 https://w原创 2021-02-18 20:21:55 · 168 阅读 · 3 评论 -
java通过身份证号计算周岁年龄(附js计算)
最近项目上有一个需要根据身份证获取老人周岁的功能,本以为当前年直接减去身份证的出生年就好了。结果测试提了过了生日就是+1岁,没过生日才是正确的。于是呼,哗哗的改代码。下面分别贴出java计算和js计算:java计算public Integer handleIdentityAge(String identity,Integer year,Integer month,Integer day){ if(identity.length()<10){ return原创 2020-08-11 20:13:51 · 1491 阅读 · 0 评论 -
springboot+aop自定义注解来实现接口无token放行机制
点击关注 不迷路今天我们来讲一下springboot+aop自定义注解来实现接口无token放行机制。缘由:为了接口通讯更加安全 ,我使用了jwt+token认证,每个接口都需要添加token来进行请求。但是比如说登陆,一定是没有token的,还有一些公用的请求方法也是不需要token就可以使用的,刚开始接口比较少,我们可以这样配置当接口匹配成功,放行。当接口过多时,每次都需要这样配置地址,会非常的繁琐,并且不优雅,那么如何优雅的使用呢?今天就来使用aop+自定义注解来优雅的解决。第..原创 2020-07-28 20:27:16 · 2776 阅读 · 1 评论 -
手把手教你使用mybatis-plus (一)
在传统的ssm项目中,使用mybatis新建一个类需要新建对应一个XXXMapper.xml,如果项目比较小的话还没什么。当项目大时,xml文件会很多,这样不利于管理和维护。基本的增删改查还需要做重复的工作,sql语句也是大通小异。这时就出现了mybatis-plus。mybatis-plus简介mybatis-plus简称mp,是一个Mybatis增强工具,在myba...原创 2020-04-11 10:47:14 · 485 阅读 · 0 评论 -
史上最正确的SpringBoot集成mybatis-generator工具自动生成代码姿势
mybatis-generator是一款在使用mybatis框架时,自动生成model,dao和mapper的工具,很大的程度上减少了开发人员的手动编码时间。我在参考了网上很多例子,终于研究成功了。其实网上搜的话会有很多例子,但是大多都不能够真正实现,今天特此记录一下,避免更多人踩坑。进入主题,今天主要是分三步走战略部署来实现自动生成代码第一步:添加插件<plugin>...原创 2019-10-20 00:20:31 · 365 阅读 · 0 评论 -
最简单 jar包在后台运行,不显示cmd窗口
springboot项目提供了更好的启动方式,内嵌了tomcat。我们只需要java -jar即可启动我们的项目,给我们提供了更方便,更快捷的方法。 但是当我们运行5个以上以后还是会出现一些问题的,比如当请求过多时,会产生缓存。后面的请求请求不进来,需要通过ctrl+z来消除缓存。但毕竟不是长久之计,那么,有没有好的方式来处理呢?启动编写脚本,命名为start8...原创 2019-09-24 15:40:06 · 6139 阅读 · 7 评论