自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (2)
  • 收藏
  • 关注

原创 springBoot+redis+security项目采用Aop实现IP访问限流

功能主要用于某些限制ip对某些接口的访问次数,比年前端频繁点击造成后台数据重复处理,本方法采用自定义注解方式实现,哪里需要限制在方法前调用就行。最开始还是要先引入需要的jar<!-- Jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.3</version

2021-09-02 16:03:14 640

原创 springBoot项目中Graphics2D在linux上使用Font字体出现乱码或者中文字无法显示的问题

该问题出现是因为linux服务器上面没有中文的字体库,我们只要在自己电脑上找一个中文的字体放到当前服务器的jdk就可以(帖子上带的图片是我用宝塔的可视面板截取的,可以参考)下面是步骤1.本地字体文件地址是“C:\WINDOWS\Fonts\...”,在里面随便找一个中文的字体,上传到服务器地址,我用的是1.8版本的jdk,用指令镜像安装的,在服务器上找到很多个jdk文件,需要通过下面的指令去确定2.然后linux按照下方的指令,查出jdk的安装路径,将字体上传到 jre/lib/fonts 中,如

2021-08-27 13:00:23 2222

原创 springBoot项目打jar包分离lib压缩jar大小方法

项目在服务器中如果是通过jar包的形式启动运行的,每次在项目更新时都要重新打jar并上传到服务器,随着功能的增多,lib包内引入的第三方jar包会越来越多,导致打出来的项目jar包越来越大,下面的方法可以把项目的lib包分离出来,单独吧lib包放在服务器上,启动时引入一下就可以了第一步:先在pom文件的<plugins>中加入下面的两组<plugin>,打完后的格式展示如下图 <!-- lib包,打完一次后可以注释掉,如果有新引入的jar包在

2021-03-16 11:31:28 547

原创 springBoot项目部署rocketmq,使用mq消息对了实现微信公众号客服消息推送

第一步:安装部署rocketMq,这一步网上教程很多,这里就不多说了,直接上代码第二步:在pom文件中引入rocketMq的jar包<!--rocketmq--><dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.2.0</version>

2021-03-09 15:08:35 952

原创 maven项目中,使用pom文件引入自定义jar包

遇到需求要把自己的jar包引入到项目中,首先我的jar包是sdk-1.0.jar一、第一种,放到maven仓库1. 找到整个项目的maven仓库,我的是默认路径:D:\maven\repository① 新建文件夹zidingyi(根据自己的想法自己命名)② 在文件夹中再建一个文件夹api,api中建文件夹sdk(这里也是自己命名,层级可以自己定义,多少层就创建多少层文件夹)③ 进入文件夹中建一个文件夹1.0(这里要和pom.xml文件中引入的版本号对应)④ 把我们刚刚的jar包...

2020-11-20 16:40:28 2067

原创 使用idea为springboot maven项目打jar包时,去除第三方依赖包

当用idea为项目打包时,基本的配置会将maven的依赖包也打进去,本来没有多大的项目,打出包来很大,我亲测的一个项目,有依赖包大几十M,去掉后一M都不到,下面就把配置贴出来1.先把基本配置贴出来,正常生成的项目大部分都是这个样子的(我这里只是截取了pom文件中的一小部分)<build> <finalName>sz_kfzs</finalName> <plugins> <plugin> <groupId>o

2020-07-23 15:23:45 1906

原创 java 用URLConnection类或HttpURLConnection类远程请求另外一个服务器,并接收返回回来的json数据

简单描述一下我的应用场景,我们有两个项目分别部署在不同的服务器上,然后a项目中的某个功能需要调用b项目的接口去完成一些数据的同步和查询,并且b项目中还要做到一个ip的白名单限制,只有规定的ip才能访问,所以需要在a项目中编写一个远程访问类,下面就采用了URLConnection和HttpURLConnection分别封装了一个工具类另外,这两个抽象类的区别我这里做了一个简单的记录,如果想要更清晰一些的讲解可以参考这位大神的帖子https://blog.csdn.net/bingguang1993/art

2020-06-30 18:01:49 829

原创 java 通过volatile关键字控制变量在多个线程内共享实时改变的结果值

简单记录一下使用场景,通过aop切面实现一个ip检验拦截的功能,如果ip是白名单就允许在逻辑方法执行完成后存入日志信息表,ip拦截要在方法执行之前,也就是切面的doBefore()方法内,日志的新增要在切面的after()内,当时遇到一个before中已经抛出一场了,但是after还是执行的问题,所有采用volatile关键字修饰一个变量,来控制方法执行。volatile关键字的作用:保证了变量的可见性(visibility)。被volatile关键字修饰的变量,如果值发生了变更,其他线程立马可见,避免

2020-06-29 15:35:57 391

原创 简单的枚举示例

我目前接触到的枚举有两种形式的,一种不带任何参数,一种是定义参数值的,下面都分别记录一下(只是做个记录,如果有不对的,请别喷,留言给我我会改正的)第一种: 1.直接创建枚举package xxx.xxx.xxx.xxx.enums;/** * 日志类别 */public enum LogType { OPERATION, //默认0操作 INSERT, //1 新增 DELETE, //2 删除 UPDATE, //3 修改 SELECT ..

2020-06-23 16:47:29 1205

原创 java调用保利威视频文件数据信息同步

先阐述一下,我们公司开通了直播模块,采用的就是保利威的平台,直播这一块主要是公司php那边负责的,我们这边需要把他们上传到保利威视频的信息存档,并且可以通过存档的链接在我们自己的平台上播放,这个文档的由来是因为保利威的官网上只有php的demo示例,我一开始自己写的调用各种的不成功,具体返回的code码忘了,然后和保利威那边的大神聊,各种的指导还是不成功,最后厚着脸皮问大神要了个他们的demo,目测应该是sha-1加密的方式不一样导致的,具体就不考究了,下面就是大神给我的demo我梳理了一下放上来,做个参考

2020-06-09 14:35:12 583

原创 java jdk1.8+递归实现树结构

先描述一下我的业务需求,随意给出一个会员,查询出这个会员的名称、等级,并且已这个会员为根节点查询出他名下所有的直属会员的名称等级信息,然后一级级向下递归,查出整个树结构图,以树结构形势出参给前台代码如下:创建实体类1:该类的主要作用是因为我的业务需求需要展示名称和内容,两个id是用来对比谁是谁的下线的,为了方便,新建一个实体类存储数据库查询出来的数据package com.aaa.bbb.server.vo;import lombok.*;/** * 树结构用数据库查询数据中.

2020-06-03 18:04:54 1127

原创 java使用阿里的easyExcel实现Excel导出/导入功能

描述:Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到KB级别,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了

2020-05-21 20:42:34 4165

原创 springboot整合Quartz实现定时管理

对于定时,简单点只要一个注解就可以搞定了import org.springframework.scheduling.annotation.Scheduled;@Scheduled(cron = "0 0 2 1 * ?")这个注解是要引用在代码里面的,也就是说如果想要改变执行的时间就要去改代码,如果在业务改动很频繁的情况下这种方法就很不可取了,Quartz正好可以避免这个情况,可以通过前台功能来控制增删改查,执行,暂停等功能,下面就是整合的全过程...

2020-05-20 18:01:36 322

原创 mysql无法存储表情

数据插入的时候报错:1366-Incorrectstringvalue:'\xF0\x9F\x98\x81'forcolumn'job'atrow23报这个错误是因为数据库设置的字符集utf8最多只能存储3个字节数据,而emoji是4个字节,所以就会出现这个问题。对数据库进行配置即可,找到mysql的安装目录下的my.cnf(linux环境,windows环境为mysql.ini)文件,进行如下配置(6项)即可,但是前提是mysql5.5以上哦。解决的方法为:将my....

2020-05-20 15:55:45 330

原创 java中汉语文字获取拼音和首拼的工具类

工具类直接复制下来就可以用,直接引用就可以了package com.shangze.szxs.common.utils;import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;import net.sourcefor.

2020-05-20 09:45:19 320

原创 mysql自定义递归函数

必看注意事项(网址都是别的大神总结的,我根据大神们的帖子解决了问题,贴出来给大家参考):1.数据库管理工具,Navicat和sqlyog之前存在一些差异,我的sql事例是在sqlyog中执行的,具体差异可以参考这位大神的帖子,网址为:https://blog.csdn.net/lg_dxq/article/details/80191627?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.

2020-05-18 16:34:36 659

原创 关于loop标签对循环的控制

loop标签和break 的配合使用,实现了对被loop标记的某一层的循环的完全中断,如下面的两个例子第一个例子中 loop 应用在内层循环中,当j=4的时候,执行break loop,这样就完全中断了被标记的内层循环,开始执行外层循环第二个例子中loop应用在外层循环中,当i=2的时候,直接中断外层循环,执行外层循环下面的代码public static void main(Stri...

2020-03-26 17:48:12 1085

原创 mysql索引

查看索引是否调用关键字:explain 示例:EXPLAIN SELECT * FROM table WHERE num = '123456' ORDER BY num DESCtype:表示MySQL在表中找到所需行的方式,或者叫访问类型,常见类型如下(从左到右,性能由差到好)ALLindex range ref eq_ref const,system NU...

2020-01-10 16:21:50 130

原创 linux服务器mysql的指令

mysql 停止指令: service mysqld stop(mysqld为/etc/init.d/中配置的名字)mysql 启动指令: service mysqld startmysql 重启指令:service mysqldrestart (该指令会直接操作停止和启动,一步到位)使用上面的启动指令需要配置快捷启动,在服务器/etc/init.d/中配置上快捷启动文件,文件可以自定...

2019-12-26 16:07:55 149

原创 linux服务对于redis的一些操作记录

查看redis进程:ps -aux | grep redis 或是 ps -ef | grep redisredis启动指令(必须配置快速启动,在服务器根目录etc/init.d中,其中redis(6379)或redis2(6380)是在这个路径中的文件名称): 其中我们在一个服务器中安装了两个redis,端口分别为6379和6380 service redis s...

2019-12-24 13:58:21 217

原创 @部分注解的个人理解

本人技术菜鸟,遇到不明白的就会去查阅一下文档,然后根据项目将自己的理解记录一下,如果有错误请各位路过的大佬指正@Configuration:从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationCon...

2019-12-14 15:08:25 267

原创 mybatis-plus Wrapper 条件构造器 updateForSet更新

详情请看下面的帖子https://blog.csdn.net/weixin_30512027/article/details/83270344

2019-12-10 17:45:13 2224

原创 java文件上传服务器方法示例

文件上传的方式有很多种,我自己常用的就是用流来上传,下面的例子是上传安卓打包的apk文件,有要采用该方法的小伙伴可以根据自己的业务逻辑去操作修改。以前一直是在使用,这次顺了一下思路,记录下来,以后长时间不用的时候可以在看一下,熟悉的人可以忽略,小白们可以看一下,整个流程分为八步,在我们项目中使用正常,如果有人发现这个流程中缺少了某些必要操作,请留言指正一下,这里先谢谢了。第一步:先声明目标...

2019-11-26 14:18:04 499

原创 计算当前周、月、季、半年、一年和上周、上月、上季、当前半年的上一个半年、上年的开始和结束时间

下面的例子是一个完整的工具类,记录了各种获取开始时间和结束时间的方法,其中本人用过的个别方法为开始时间和结束时间格式为 2019-10-10 00:00:00 ,2019-10-10 23:59:59,最下方有测试类,可以先执行一下,根据自己的需要去修改package cn.shangze.gf.common.utils;import lombok.extern.slf4j.Slf4j;...

2019-10-22 14:03:14 995 2

原创 Java 计算2个时间相差多少年,多少个月,多少天的几种方式

先声明一下,该方法转自帖子https://www.sojson.com/blog/260.html一、Java 时间比较需求1.A时间到B时间,相差多少年,月,日。如:2011-02-02到 2017-03-02,结果为:* 相差 6年,1个月,0天2.A时间到B时间, 相差年,月,日各是多少。如:2011-02-02到 2017-03-02,结果为:*...

2019-10-14 17:01:27 6875

原创 springBoot项目使用aop切面方式,基于redis验证token示例

springboot项目是直接下载的xboot开元项目,一些基本的配置已经存在,该方法是基于本开元项目的,如果是自己搭建的可能需要根据自己的业务去修改,下面只是一个示例package cn.shangze.gf.common.aop;import cn.xboot.gf.common.constant.SecurityConstant;import cn.xboot.gf.common...

2019-10-08 14:09:49 847

原创 springboot+mybatis-plus在log控制台输出sql语句的方法

有两种方法可以实现1.第一种将log-impl 配置到原有的mybatis-plus的configuration下(格式为yml的规范),该方法会将sql语句和查询的结果都打印到控制台mybatis-plus: configuration: # 是否将sql打印到控制面板(该配置会将sql语句和查询的结果都打印到控制台) log-impl: or...

2019-09-20 15:02:35 28506 1

原创 springboot+webSocket示例

1.引入依赖的jar包<!--websocket连接需要使用到的包--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId></depen...

2019-09-04 18:11:01 310

原创 java实现阴历、阳历互相转换

因项目需要,要做一个生日提醒的功能,在数据库中生日存储的可以是阴历时间也可以是阳历时间,格式都是 yyyy-MM-dd,通过生日类型字段去区分存储的是阴历还是阳历,要完成这个功能就需要将阳历日期转换成阴历日期,但是网上大部分帖子返回的都是天干地支的格式,而我需要的是正常的yyyy-MM-dd格式的,在网上掏了半天终于找到个可以满足的例子,但是有点小问题,我已经在方法里面用注解说明了,请仔细看注解内...

2019-08-30 17:22:09 3500 2

原创 java中常用的各种方法函数汇总

1.数组转字符串函数StringUtils.join() 字符串转数组函数split()示例:String[] strArray = {"aaa","bbb","ccc"};String str= StringUtils.join(strArry,",");System.out.println(str); 输出:"aaa,bbb,ccc"String str = "aaa,...

2019-08-09 11:16:22 847

原创 用的比较少的sql示例

1.FIND_IN_SET(str,strList) 函数作用为 strList中是否包含str GROUP_CONCAT(DISTINCT a) 将多行的a列上的参数拼接成一行用逗号隔开的串连表查询时关联字段中有一个表的字段值为用逗号拼接的字符串可以用以下sql查询出来,其中 on 后面的 FIND_IN_SET() 函数会把所有对应的数据查询出来,不过显示出来的列表会已下面图...

2019-08-08 18:13:29 178

原创 自定义注解,并编写一个aop,通过使用redis实现前台请求限流

主要作用是根据时间限制前台向后台的请求,通过aop切面实现方法之前检测请求次数package cn.shangze.boot.common.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Reten...

2019-08-06 19:49:25 453 1

原创 使用HtmlUtil.cleanHtmlTag()过滤html中的tag标签

先看看项目中有没有引入下面的这个包 <!-- Hutool工具包 --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> ...

2019-08-01 19:25:39 1914

原创 七牛文件上传并将图片压缩加密base64

已上传图片为例,视频,文本等也可以用上传的方法,但是压缩只是针对图片的处理,可根据自己的业务逻辑去更改,我这里只写出了方法,具体对应的类自己去建1.pom中引入包 <!--thumbnailator 压缩工具--> <dependency> <groupId>net.coobird</grou...

2019-07-26 14:43:07 932 1

原创 java使用poi导出excel示例

导出情况有两种,一种只导出文件,一种在项目根目录下存储导出的临时excel文件,详细代码看下面,区别在于被注释的代码中1.引入pom.xml文件<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> ...

2019-07-18 19:44:29 262

原创 springBoot前后分离项目,通过ModelAndView返回给app或前台静态页面

1.先做静态页模板aaa.html,放到springboot项目的根目录下,如下如中,新建一个templates的文件夹,将静态页放到这里面就可以了静态页代码为<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-4.dtd"><html xmlns=...

2019-07-13 16:47:01 3415 2

原创 nginx反向代理实现后台同服务器多个项目的单点登陆和访问时的 nginx.conf 配置文件示例,并且可以配置多个域名,根据不同的域名访问不同的项目

nginx基本的配置,一般安装的时候nginx.conf中都有,不过各种安装版本不同会有差异,我们用的是宝塔中自带的// nginx基本的配置,一般安装的时候nginx.conf中都有,不过各种安装版本不同会有差异,我们用的是宝塔中自带的user www www;worker_processes auto;error_log /www/wwwlogs/nginx_error.lo...

2019-06-21 16:03:56 1372

原创 java获取融云token、并实现群组聊天、管理等后台接口示例

公司的项目app端需要用融云去做聊天那里类的东西,前台需要后台提供众多接口,找了好多帖子都没有java的demo,包括融云的官网里面也没有看到,最后没办法找了个安卓的demo改了改然后我们调试了一下也没有问题,代码详情看下面import cn.hutool.core.util.StrUtil;import com.alibaba.fastjson.JSON;import io.swagg...

2019-06-04 17:23:40 1926 7

原创 java面向切面编程aop

因公司业务上的要求,在开发app后台系统的时候除登陆外的功能项都需要验证token,我们本地配置了各种的拦截,但是都不太适用与目前的要求,所以要把登陆功能单独拿出来,适用aop去拦截除登陆,修改密码之外的所有功能模块直接上代码package cn.shangze.boot.common.aop;import cn.hutool.core.util.StrUtil;import cn...

2019-05-31 10:42:36 159

转载 使用com.alibaba.fastjson.JSONArray的JSONArray.parseArray()方法解析字符串或list

1.fastjson的JSONArray 将List转换为JSONArray T为实体类List<T> list = new ArrayList<T>();JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));2.fastjson的JSONArray JSONArray转List ...

2019-05-27 21:03:09 26884

springboot+webSocket的demo

springboot+webSocket的demo,单纯的webSocket demo没有其他任何东西掺杂

2019-09-04

视频计算时长jar包jave-1.0.2.jar

it\sauronsoftware\jave\1.0.2的jave包,主要用于获取视频时长

2019-04-20

空空如也

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

TA关注的人

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