![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
FengRenYuanDeFZ
这个作者很懒,什么都没留下…
展开
-
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 · 2173 阅读 · 0 评论 -
springBoot项目打jar包分离lib压缩jar大小方法
项目在服务器中如果是通过jar包的形式启动运行的,每次在项目更新时都要重新打jar并上传到服务器,随着功能的增多,lib包内引入的第三方jar包会越来越多,导致打出来的项目jar包越来越大,下面的方法可以把项目的lib包分离出来,单独吧lib包放在服务器上,启动时引入一下就可以了第一步:先在pom文件的<plugins>中加入下面的两组<plugin>,打完后的格式展示如下图 <!-- lib包,打完一次后可以注释掉,如果有新引入的jar包在原创 2021-03-16 11:31:28 · 537 阅读 · 0 评论 -
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 · 897 阅读 · 0 评论 -
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 · 2051 阅读 · 0 评论 -
使用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 · 1883 阅读 · 0 评论 -
java 用URLConnection类或HttpURLConnection类远程请求另外一个服务器,并接收返回回来的json数据
简单描述一下我的应用场景,我们有两个项目分别部署在不同的服务器上,然后a项目中的某个功能需要调用b项目的接口去完成一些数据的同步和查询,并且b项目中还要做到一个ip的白名单限制,只有规定的ip才能访问,所以需要在a项目中编写一个远程访问类,下面就采用了URLConnection和HttpURLConnection分别封装了一个工具类另外,这两个抽象类的区别我这里做了一个简单的记录,如果想要更清晰一些的讲解可以参考这位大神的帖子https://blog.csdn.net/bingguang1993/art原创 2020-06-30 18:01:49 · 819 阅读 · 0 评论 -
java 通过volatile关键字控制变量在多个线程内共享实时改变的结果值
简单记录一下使用场景,通过aop切面实现一个ip检验拦截的功能,如果ip是白名单就允许在逻辑方法执行完成后存入日志信息表,ip拦截要在方法执行之前,也就是切面的doBefore()方法内,日志的新增要在切面的after()内,当时遇到一个before中已经抛出一场了,但是after还是执行的问题,所有采用volatile关键字修饰一个变量,来控制方法执行。volatile关键字的作用:保证了变量的可见性(visibility)。被volatile关键字修饰的变量,如果值发生了变更,其他线程立马可见,避免原创 2020-06-29 15:35:57 · 383 阅读 · 0 评论 -
简单的枚举示例
我目前接触到的枚举有两种形式的,一种不带任何参数,一种是定义参数值的,下面都分别记录一下(只是做个记录,如果有不对的,请别喷,留言给我我会改正的)第一种: 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 · 1189 阅读 · 0 评论 -
java调用保利威视频文件数据信息同步
先阐述一下,我们公司开通了直播模块,采用的就是保利威的平台,直播这一块主要是公司php那边负责的,我们这边需要把他们上传到保利威视频的信息存档,并且可以通过存档的链接在我们自己的平台上播放,这个文档的由来是因为保利威的官网上只有php的demo示例,我一开始自己写的调用各种的不成功,具体返回的code码忘了,然后和保利威那边的大神聊,各种的指导还是不成功,最后厚着脸皮问大神要了个他们的demo,目测应该是sha-1加密的方式不一样导致的,具体就不考究了,下面就是大神给我的demo我梳理了一下放上来,做个参考原创 2020-06-09 14:35:12 · 568 阅读 · 0 评论 -
java jdk1.8+递归实现树结构
先描述一下我的业务需求,随意给出一个会员,查询出这个会员的名称、等级,并且已这个会员为根节点查询出他名下所有的直属会员的名称等级信息,然后一级级向下递归,查出整个树结构图,以树结构形势出参给前台代码如下:创建实体类1:该类的主要作用是因为我的业务需求需要展示名称和内容,两个id是用来对比谁是谁的下线的,为了方便,新建一个实体类存储数据库查询出来的数据package com.aaa.bbb.server.vo;import lombok.*;/** * 树结构用数据库查询数据中.原创 2020-06-03 18:04:54 · 1114 阅读 · 0 评论 -
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 · 4129 阅读 · 0 评论 -
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 · 313 阅读 · 0 评论 -
关于loop标签对循环的控制
loop标签和break 的配合使用,实现了对被loop标记的某一层的循环的完全中断,如下面的两个例子第一个例子中 loop 应用在内层循环中,当j=4的时候,执行break loop,这样就完全中断了被标记的内层循环,开始执行外层循环第二个例子中loop应用在外层循环中,当i=2的时候,直接中断外层循环,执行外层循环下面的代码public static void main(Stri...原创 2020-03-26 17:48:12 · 1066 阅读 · 0 评论 -
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 · 212 阅读 · 0 评论 -
@部分注解的个人理解
本人技术菜鸟,遇到不明白的就会去查阅一下文档,然后根据项目将自己的理解记录一下,如果有错误请各位路过的大佬指正@Configuration:从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationCon...原创 2019-12-14 15:08:25 · 258 阅读 · 0 评论 -
mybatis-plus Wrapper 条件构造器 updateForSet更新
详情请看下面的帖子https://blog.csdn.net/weixin_30512027/article/details/83270344原创 2019-12-10 17:45:13 · 2206 阅读 · 0 评论 -
java文件上传服务器方法示例
文件上传的方式有很多种,我自己常用的就是用流来上传,下面的例子是上传安卓打包的apk文件,有要采用该方法的小伙伴可以根据自己的业务逻辑去操作修改。以前一直是在使用,这次顺了一下思路,记录下来,以后长时间不用的时候可以在看一下,熟悉的人可以忽略,小白们可以看一下,整个流程分为八步,在我们项目中使用正常,如果有人发现这个流程中缺少了某些必要操作,请留言指正一下,这里先谢谢了。第一步:先声明目标...原创 2019-11-26 14:18:04 · 492 阅读 · 0 评论 -
计算当前周、月、季、半年、一年和上周、上月、上季、当前半年的上一个半年、上年的开始和结束时间
下面的例子是一个完整的工具类,记录了各种获取开始时间和结束时间的方法,其中本人用过的个别方法为开始时间和结束时间格式为 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 · 977 阅读 · 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 · 6742 阅读 · 0 评论 -
手机号、身份证、邮箱校验方法
很多时候在我们开发的系统中对于手机号和身份证的验证并没有那么严谨,所以只要在自己项目里面进行校验就可以了,没必要去找一些需要花钱的三要素四要素什么的去验证,下面一个完整的工具类可以满足我们的要求package cn.shangze.boot.common.utils;import lombok.extern.slf4j.Slf4j;import java.text.SimpleDat...原创 2019-05-08 15:18:14 · 1477 阅读 · 0 评论 -
java 用线程控制方法的异步执行
定义回调接口或实际执行的方法类,下面是一个接口的方法,如果调用方法类,那就自己建一个方法类代替下面的接口/** * 定义回调接口 * @author YZQ * */public interface MyCallback { /** * 定义处理回调方法 * @param object */ void callback(Object object);}定义异...原创 2019-05-16 17:20:07 · 1567 阅读 · 0 评论 -
使用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 · 26865 阅读 · 0 评论 -
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 · 150 阅读 · 0 评论 -
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 · 1914 阅读 · 7 评论 -
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 · 1353 阅读 · 0 评论 -
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 · 3388 阅读 · 2 评论 -
java使用poi导出excel示例
导出情况有两种,一种只导出文件,一种在项目根目录下存储导出的临时excel文件,详细代码看下面,区别在于被注释的代码中1.引入pom.xml文件<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> ...原创 2019-07-18 19:44:29 · 258 阅读 · 0 评论 -
七牛文件上传并将图片压缩加密base64
已上传图片为例,视频,文本等也可以用上传的方法,但是压缩只是针对图片的处理,可根据自己的业务逻辑去更改,我这里只写出了方法,具体对应的类自己去建1.pom中引入包 <!--thumbnailator 压缩工具--> <dependency> <groupId>net.coobird</grou...原创 2019-07-26 14:43:07 · 911 阅读 · 1 评论 -
使用HtmlUtil.cleanHtmlTag()过滤html中的tag标签
先看看项目中有没有引入下面的这个包 <!-- Hutool工具包 --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> ...原创 2019-08-01 19:25:39 · 1870 阅读 · 0 评论 -
自定义注解,并编写一个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 · 443 阅读 · 1 评论 -
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 · 839 阅读 · 0 评论 -
java实现阴历、阳历互相转换
因项目需要,要做一个生日提醒的功能,在数据库中生日存储的可以是阴历时间也可以是阳历时间,格式都是 yyyy-MM-dd,通过生日类型字段去区分存储的是阴历还是阳历,要完成这个功能就需要将阳历日期转换成阴历日期,但是网上大部分帖子返回的都是天干地支的格式,而我需要的是正常的yyyy-MM-dd格式的,在网上掏了半天终于找到个可以满足的例子,但是有点小问题,我已经在方法里面用注解说明了,请仔细看注解内...原创 2019-08-30 17:22:09 · 3409 阅读 · 2 评论 -
springboot+webSocket示例
1.引入依赖的jar包<!--websocket连接需要使用到的包--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId></depen...原创 2019-09-04 18:11:01 · 299 阅读 · 0 评论 -
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 · 28484 阅读 · 1 评论 -
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 · 837 阅读 · 0 评论 -
java实现springboot+mybatisPlus实现数据读写分离访问
必须实现数据库读写分离,参考网址为:https://blog.csdn.net/FengRenYuanDeFZ/article/details/89420201 引入依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=...原创 2019-04-20 17:40:24 · 784 阅读 · 0 评论