- 博客(367)
- 资源 (3)
- 收藏
- 关注
原创 WebSocket
找个网站测试下 websocket通信地址以ws://开头,我的springboot启动在8070端口,所以我的地址是。项目需要,要用到WebSocketConfig,网上找资料研究了下。最重要的注册到spring容器,spring boot自动会配置。消息处理和自定义配置类。
2024-11-06 11:15:11 372 1
原创 jodconverter+openOffice word文档pdf转换
第四种: jodconverter+openOffice/LibreOffice 就是我使用的这种,效果较好,兼容也可以。windows和服务器linux都需要安装OpenOffice,官方下载可能有点慢,需要的看下面的链接。第一种:POI+iText PDFBox,试了下,效果不太行,比较差,而且有些中文以及格式不好处理。必须先卸载默认安装的LibreOffice,然后用deb方式的压缩包。安装完成后在/opt/openoffice4/program/第二种:jacob 不支持linux,不考虑。
2024-04-11 10:39:26 1143
原创 导出csv列错乱
场景是将数据库信息导出,采用的是CSV,比excel快点。然后数据需要经过处理后再导入到其他库,导入的时候部分文件解析出错了,原因就是CSV文件内容的列和导入映射的实体字段数量对不上。#####是日期,打开csv文件自动切换成excel方式,excel对内容作了处理,用文本方式打开可以查看原始数据,只是显示的时候excel进行了处理。所以那个7就分隔成下一列的数据了,导致多出了列数据,造成无法匹配。原因是因为在数据导出的时候,数据内容里面有,符号。今天在导出CSV文件的时候文件的列错乱了。
2023-06-27 18:39:36 1210
原创 idea maven项目import依赖全部报红色
如图明明maven也引入了,始终import以及使用都是红色选择setting->maven->Ignored Files,将被忽略的model取消选中就可以解决了将以下的勾全部去掉,我的就是勾选上的,导致全部红色代码小记下,以防下次忘记耽误时间...
2022-03-15 00:56:19 3165
原创 POI自定义excel文档模板以及内容设置
package com.shinedata.controller.excel;import cn.afterturn.easypoi.excel.ExcelExportUtil;import cn.afterturn.easypoi.excel.entity.ExportParams;import com.shinedata.enums.ParentEnums;import com.shinedata.service.course.CourseManagementService;import .
2022-03-03 14:15:29 1792 1
原创 电脑没声音,音频设备无法使用。扬声器安装程序unknown
今天电脑开着没关,回家突然没声音了。右下角声音小喇叭那个图标有个红叉各种办法都试了,卸载重装驱动,任务管理器、什么声音设置里面显示禁用设备全部都试了都不行然后偶然网上发现了解决办法。设备管理器里(不是“声音、视频和游戏控制器”,是再往下拉,在“系统设备”这一栏里) ,有个英特尔智音技术音频控制器,右键选择更新驱动程序,下面选择第二个,浏览计算机上的驱动程序。然后选择让我从计算机上的可用驱动程序列表中选取,列表中有两个(下图)双击High Definition Audio控制器.稍等.
2021-11-27 22:23:54 21921 14
原创 application.yml使用maven配置报错:while scanning for the next token found character ‘@‘ that cannot start a
在yml配置文件使用maven的配置引用报错:ERROR org.springframework.boot.SpringApplication - Application run failedorg.yaml.snakeyaml.scanner.ScannerException: while scanning for the next tokenfound character '@' that cannot start any token. (Do not use @ for indentation)
2021-10-21 16:13:03 5923
原创 RSA加解密java.security.InvalidKeyException: IOException : algid parse error, not a sequence错误
拿到一个私钥,需要将加密的数据给解密出来。怎么都解不出来,在获取PrivateKey的时候就报错algid parse error, not a sequenceKeyFactory.getInstance("RSA").generatePrivate( new PKCS8EncodedKeySpec(Encodes.decodeBase64("priKey")))原因是私钥串不是PKCS#8的格式,不使用第三方jar是转不出来的解决办法一种是用op
2021-10-11 15:58:25 1558
原创 创建二维码并支持自定义logo和颜色
package com.shinedata.util;import com.google.zxing.*;import com.google.zxing.client.j2se.BufferedImageLuminanceSource;import com.google.zxing.client.j2se.MatrixToImageWriter;import com.google.zxing.common.BitMatrix;import com.google.zxing.common.Hyb.
2021-09-15 14:48:08 555
原创 java 利用InputStream判断excel是2003还是2007以上
第一版:public static Workbook create(InputStream inputStream) throws Exception { Workbook workbook = null; if (!inputStream.markSupported()) { inputStream = new PushbackInputStream(inputStream, 8); } if (POIFSFileSystem.
2021-09-02 11:28:05 1398 1
原创 根据数据库表名生成java实体类、根据实体生成创建表语句
公司用的jpa,没有用mybatis。所以也没有用mybatis自动生成。但有些数据库表字段太多,就想着一劳永逸了这里使用的是jdbcTemplate
2021-06-07 16:15:50 1071 1
原创 短链接生成
public Object getGoodsShortUrl(Integer userId, Integer goodsId) { String originUrl=domain.getSelf()+"/wx/auth/share/goods/auth?userId="+userId.toString()+"&goodsId="+goodsId.toString(); return getShortUrl(originUrl); } private.
2021-03-18 16:40:12 2817 2
原创 RequestContextHolder.getRequestAttributes()子线程获取问题
相信很多开发过程中都用过RequestContextHolder.getRequestAttributes(),没错,我也经常用,但今天出现了问题,获取到的实例是空的原因是因为我新开了一个子线程,在子线程调用了RequestContextHolder.getRequestAttributes()。实际获取到的是空的然后查看了源码ThreadLocal获取。一个请求到达容器后,Spring会把该请求Request实例通过setRequestAttributes方法 把Request实例
2021-03-05 14:47:29 24106 6
原创 自定义本地缓存,带过期时间/事件处理
package org.linlinjava.litemall.wx.cache;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.Iterator;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.Executors;import java.util.co.
2021-03-03 10:06:46 879
原创 事务提交后发送异步任务
需求背景是在执行订单申请完毕之后需要发送通知,但可能存在速度过快的情况,当申请完毕之后发送一个id到另外一个系统,这边事务却还没有提交更新数据,导致另外一个系统获取不到数据解决方案:在事务提交之后发送异步任务,如果不是异步任务可能会存在接口耗时过长(本人业务测试一个接口可达5s多)方式1:比较简单的就是事务提交之后直接发送异步任务。也可以参考Spring的@Async注解结合使用,这里不作展示private final ExecutorService executorService = E
2021-01-24 20:58:52 767
原创 mybatis 注解批量添加/修改
最开始的代码@Insert({ "<script>", "INSERT", "INTO", "t_company", "(id,create_time,update_time,key_no,company_name,oper_name,establishment_date,status,status_desc,no,credit_code,delete_status)",
2021-01-21 14:20:05 777
原创 分布式唯一id 分布式唯一订单号生成
package org.com.rsmall.admin.init;import org.apache.commons.lang3.StringUtils;import org.com.rsmall.core.config.redis.RedisConstants;import org.com.rsmall.core.config.redis.RedisUtils;import org.com.utils.IPUtils;import org.com.utils.IdUtils;import.
2021-01-14 18:15:30 613
原创 生成20位永不重复订单号(snowFlake算法+2位随机码)
注意一点如果是分布式集群等环境,需要区分机器码,不然在大量并发可能会重复package org.com.utils;import org.apache.ibatis.logging.LogException;import java.net.Inet4Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.util.Date;import java.util.Enumeration;
2021-01-12 10:00:25 2757
原创 Spring统一全局请求后置处理器
废话就不多说了,看代码package org.com.rsmall.wx.config.advice;import org.apache.commons.lang3.StringUtils;import org.com.rsmall.db.dao.member.MemberCompanyBindInfoDao;import org.com.rsmall.db.dao.member.MemberDao;import org.com.rsmall.db.entity.member.Member;
2021-01-04 17:08:23 468 2
原创 微信公众号上传永久图片素材(将阿里云图片上传至微信公众号图片素材)
需求是公众号添加关键词回复,但是关键词有近1000个。每个关键词回复一张图片思路:1、每张图片的名字命名为关键词2、然后统一上传至阿里云。3、下载阿里云文件夹全部文件将文件信息保存至本地数据库4、上传至微信公众号图片素材。这样可以做成总运营平台自定义关键词+图片以一张图片举例;以下为demo,该批量处理还是批量处理,该异步处理还是得异步处理在项目启动的时候将图片地址等信息添加到本地数据库,上传素材图片实体类package com.shinedata.e.
2020-12-30 11:47:44 1299 1
原创 网络地址转File
package com.shinedata.util;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.URL;/** * @ClassName FileUtils */public class FileUtils { /** * @param fileUrl 资源地址 * @Description: 网络资源转file.
2020-12-29 18:10:13 1256
原创 springboot读取所有自定义注解
先说下需求,是用作权限使用自定义注解 Permissionpackage org.com.rsmall.wx.ann;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target({ElementType.TYPE, E
2020-12-28 16:34:07 2613
原创 微信公众号开发之关注自动回复中文乱码【java】
在开发微信公众号的时候,关注回复一直乱码解决办法:mapping设置produces为application/text;charset=UTF-8然后response.setCharacterEncoding("UTF-8");问题解决
2020-12-10 16:06:31 791 1
原创 java版 银行还款计算
原型图是这样的(下图),要求算出每个月不同的还款方式的明细废话不多说,代码package org.com.rsmall.wx.vo;import org.com.rsmall.db.vo.RepaymentDetailVo;import java.math.BigDecimal;import java.util.List;/** * 银行还款计算 */public class BankRefund { /** * 先息后本 * @param m
2020-11-29 19:20:23 854
原创 redis过期事件无法收到通知
首先在本地是可以,到了预发布环境启动后一段时间是可以。但是在过段时间后发现一直收不到通知了,于是去看了一遍redis.conf发现了一个设置:tcp-keepalive 默认值是0读了注释后,理解是此配置是检查健康的连接的时间。可以理解为心跳机制。3.x版本默认值是0,官方推荐是60。4.x/5.x版本默认是300...
2020-11-12 10:38:17 787
原创 redis发布/订阅
今天一个同事搞了大半天都没弄出来,然后老大叫我接手。记录分享出来主要是让新同学少走弯路目前采用Jedis实现,后续推出Spring data redis版本首先订阅是阻塞的,所以单独开一个线程订阅通道,应用启动RunnerRunner执行的时间是spring容器启动完成之后,就会紧接着执行这个接口实现类的run方法这个实现类,要注入到spring容器中,这里使用了@Component注解; 在同一个项目中,可以定义多个ApplicationRunner的实现类,他们的执行顺序通过注解@Or
2020-09-15 13:13:39 214
原创 java.lang.NoClassDefFoundError:com/sun/tools/javac/processing/JavacProcessingEnvironment
pom文件加上以下内容<dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.8</version> <scope>system</scope> <systemPa
2020-09-07 17:02:24 1617
原创 redis分布式锁(redisson)的简单封装
项目用到了redisson分布式锁,但是每个地方的代码除了业务代码,其他都差不多一样的,如果要修改的话,就要修改很多,不只修改一个项目,其他项目也得该,地方多了容易出错,并且数据也对不上。起始的想法是封装起来,然后自定义一个spring boot starter。其他项目依赖即可,这样一来如果要修改只改这个starter模块就可以了。于是将项目分布式锁进行了简单封装,以前是下面代码这样的@Autowiredprivate RedissonClient redissonClient;public
2020-09-03 15:34:23 1550
原创 Spark读取mysql数据
public void getStudentName() throws IOException { Properties properties = new Properties(); properties.put("driver", ApplicationYmlUtils.getDataSourceDriverClassName()); properties.put("user", ApplicationYmlUtils.getDataSourceUsern.
2020-08-31 17:47:02 1314
原创 JAVA 上传本地文件到HDFS
文件内容上传文件上传的时候加个一个文件夹路径ypp读取文件步入正题(代码)本地安装的hadoop版本为3.1.3pom.xml<properties> <java.version>1.8</java.version> <spark.version>3.0.0</spark.version> <scala.version>2.12.10<.
2020-08-28 15:57:53 4004
原创 hadoop启动报错 Incompatible clusterIDs in E:\java\hadoop-3.1.3\data\datanode: namenode clusterID = CID-f
完整错误截图,由于开发阶段用的本地的,以下是windows的截图,linux同理datanode没有启动成功大多数的解决办法都说是格式化,但如果是生产环境肯定是不可取的我复现错误的方式修改了core-site.xml文件的hadoop.tmp.dir配置,然后重新格式化(hdfs namenode -format),再启动hadoop就出现了datanode的这种错误还有其他的说法删除tmp下所有文件,再hdfs namenode -format格式化我采用的方式是找到datanod
2020-08-28 14:52:36 526
原创 本地安装HDFS(Hadoop)
开发阶段本地远程请求服务器有点慢,于是自己本地安装一个HDFS下载地址https://hadoop.apache.org/releases.html 本人安装的3.1.3下载解压放到自己指定位置,Hadoop安装必须要安装JDK1.8以上,配置系统环境变量path中添加%HADOOP_HOME%\bin,和JAVA_HOME方式一致,自行安装JAVA_HOME安装目录不能有空格,不然启动hadoop会报错:Error: JAVA_HOME is incorrectly set.Please ..
2020-08-27 17:43:41 1546
原创 Hadoop启动报错org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Ljava/lang/String;)Lorg/apache/hadoop/io
先贴下完整错误信息datanode的错误,原因是hadoop.dll文件的问题,由于是本地windows安装启动的hadoop,故需要hadoop.dll文件,但版本对应不上,hadoop是3.1.3的,但是hadoop.dll文件是3.0.0的,换了hadoop.dll文件就好了不排除其他问题,配置环境变量,bin 里是否有hadoop.dll 和winutils.exe 这两个文件,C: windows\System32 里是否有hadoop.dll 文件。记得重启电脑Hadoop...
2020-08-27 16:55:49 4344 1
原创 html转pdf报错 Invalid nested tag head found, expected closing tag link.
主要是expected closing tag link.这句话的意思,意思没有闭合标签原因是:itexthtml转pdf对html格式要求比较严格,比如link标签必须是</link>这种结束标签,其他标签报错同理我用的是这3个依赖...
2020-08-21 16:24:39 4731
原创 工具类使用@Autowired 注入静态Bean
@Componentpublic class AutowireStaticSmartInitializingSingleton implements SmartInitializingSingleton { @Autowired private AutowireCapableBeanFactory beanFactory; /** * 当所有的单例 Bena 初始化完成后,对 static 静态成员进行赋值 */ @Override pub.
2020-07-28 17:52:10 1046
原创 JAVA easypoi合并单元格
公司用到了easypoi导出,发现网上关于easypoi合并的例子真的很少,没找到,于是自己研究了下,项目是Spring Bootpom.xml<!--easypoi --> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>3.0.1</version&
2020-07-14 16:14:36 20480 12
原创 Spring Boot Starter自动装配原理
先看看SpringBoot自动装配的原理,看了源码原理后就明白为什么可以自定义Starter了@SpringBootApplication是必须的,在Application启动类上的一个注解,大家都知道,就从@SpringBootApplication入手,点击进去是很多注解的组合,每个注解就不多做解释了重点看@EnableAutoConfiguration,它是自动装配的整个逻辑,再点击去,关键信息@Import(AutoConfigurationImportSelector.class)
2020-07-07 17:52:26 1739 1
原创 mysql 给返回列表排序添加序号列
SELECT (@i:=@i+1) rankNum,userLeaderboard.userId,userLeaderboard.userName,userLeaderboard.totalAmount FROM ( SELECT s.user_id userId,u.USER_NAME userName,sum(s.pay_amount) totalAmount FROM t_sale_deal_info s,t_user u WHERE s.user_id=u.id .
2020-07-03 14:48:47 811
原创 Malformed POM D:\java\ideaProjects\spark\pom.xml: expected START_TAG or END_TAG not TEXT (position:
Malformed POM D:\java\ideaProjects\spark\pom.xml: expected START_TAG or END_TAG not TEXT (position: TEXT seen ...<!--\u6307\u5b9aresources\u63d2\u4ef6\u5904\u7406\u54ea\u4e2a\u76ee\u5f55\u4e0b\u7684\u8d44\u6e90\u6587\u4ef6-->\r\n <d...
2020-06-18 11:17:27 1769
docker周阳老师的脑图xmind整理
2019-03-16
尚硅谷周阳老师docker视频脑图
2019-03-16
周阳老师SpringCloud脑图
2019-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人