![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
猿猴一号(lxd)
这个作者很懒,什么都没留下…
展开
-
SpringSecurity-从入门到精通
Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。小项目有Shiro的比较多,因为相比与SpringSecurity,Shiro的上手更加的简单。 一般Web应用的需要进行认证和授权。 认证:验证当前访问系统的是不是本系统的用户,并且要确认具体是哪个用户 授权:经过认证后判断当前用户是否有权限进行某个操作原创 2023-06-21 10:08:42 · 1594 阅读 · 2 评论 -
Mysql和达梦数据库备份与恢复
本文介绍了Mysql数据库和达梦数据库全量、增量、自定义备份与恢复。以及文件资源以压缩包的形式实现备份与恢复。使用java定时任务实现备份与恢复操作。原创 2023-05-08 11:01:30 · 295 阅读 · 1 评论 -
java multipartFile与File互转
java multipartFile与File互转。原创 2023-03-09 10:07:19 · 744 阅读 · 0 评论 -
Springboot项目打成jar包后获取resources目录下的模板文件失败
在使用模板文件进行文件相关操作时,使用IDEA本地测试没有任何问题,打成jar包后部署,发现不能正常读取resources目录下template文件夹下的模板文件,出现类似 path resource [xxxx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:xxxx.jar!xxxx 的问题。原创 2023-03-06 10:33:15 · 1313 阅读 · 0 评论 -
java匹配字符串中的多种格式的日期并格式化
匹配截取字符串中的日期,支持多种日期格式的识别和格式化原创 2023-02-07 16:07:42 · 954 阅读 · 0 评论 -
Java导入导出word文档中的表格
使用poi导出列表数据到word文档中的表格中,表格支持自定义单元格合并,并可选择导出的列。导入带表格的word文档,支持合并单元格的表格内容读取。原创 2023-02-07 16:02:37 · 3359 阅读 · 2 评论 -
Springboot项目自动生成数据库文档
screw是用来生成数据库表结构说明文档的组件,通过引用jar包,通过简单的配置就可以自动生成文档,相当于数据库中的swagger,支持html, word, md三种格式的文档。原创 2023-01-12 15:12:01 · 590 阅读 · 0 评论 -
Android系统部署java环境并运行Java程序执行jar包
为了运行更为复杂的java程序,可以在安卓设备中安装AidLux(国内软件)或Termux(国外软件),AidLux是基于ARM架构的跨生态(Android/鸿蒙+Linux)一站式AIoT应用快速开发和部署平台APP。通过共享 Linux 内核实现Android 和 Linux 生态融合,为单一设备同时提供Android和Linux运行环境;集成国际主流AI框架和多种开发环境、后台服务程序、编译器及图形开发组件,无须配置开箱即用,极大地简化了开发步骤;原创 2022-12-14 09:25:20 · 7016 阅读 · 0 评论 -
Springboot+WebSocket实现消息推送
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 创建定时任务,实现定时向前端推送相关消息。 创建存放ws推送的参数缓存Map,定时任务获取参数,获取数据后推送。原创 2022-12-01 10:01:58 · 1908 阅读 · 0 评论 -
java将word转为html,图片替换为base64代码
使用spric.doc导入docx格式的word,并转换为html代码。转换后会生成3个文件xxx.html,xxx.css,以及存放word中图片的文件夹,需求是要求将样式以及图片一起放到xxx.html代码中,图片采用base64替换标签的src路径。...原创 2022-07-26 15:09:50 · 1148 阅读 · 0 评论 -
linux nginx开启https协议
项目使用nginx代理,配置nginx.conf,使项目支持https协议,前后端无需改动。原创 2022-07-16 14:18:06 · 343 阅读 · 0 评论 -
SM3加密与解密校验
SM3密码杂凑算法是中国国家密码管理局2010年公布的中国商用密码杂凑算法标准。具体算法标准原始文本参见参考文献[1]。该算法于2012年发布为密码行业标准(GM/T0004-2012),2016年发布为国家密码杂凑算法标准(GB/T32905-2016)。SM3适用于商用密码应用中的数字签名和验证,是在[SHA-256]基础上改进实现的一种算法,其安全性和SHA-256相当。SM3和MD5的迭代过程类似,也采用Merkle-Damgard结构。消息分组长度为512位,摘要值长度为256位。...原创 2022-07-16 14:04:56 · 29317 阅读 · 3 评论 -
java windows导出excel在office中打开报内容错误,需要修复,linux上下载的excel打不开
java windows导出excel在office中打开报内容错误,需要修复,linux上下载的excel打不开,解决方法==》设置输出流的长度原创 2022-06-20 15:41:33 · 1483 阅读 · 1 评论 -
富文本带图片导出word
思路就是将富文本编辑器中的内容转换为html标签,在后台使用ftl格式的模板替换占位符信息,需要注意的是html中的图片的标签是img,但是word并不认img标签,而且有些图片只是一个引用地址,在别的机器上就无法正常显示。所以要对图片解析为base64字符串,再填充到模板上。原创 2022-06-02 15:41:43 · 3105 阅读 · 1 评论 -
EasyExcel导入导出
EasyExcel导入导出EasyExcel工具类原创 2022-04-22 16:17:59 · 431 阅读 · 0 评论 -
SpringCloud ZUUL集群 + Nginx + Redis 实现Websocket向客户端推送消息
SpringCloud ZUUL集群 + Nginx + Redis 实现Websocket向客户端推送消息简介Nginx配置Zuul websocket配置Redis配置及websocket配置前端代码简介本文主要是针对分布式场景下的使用websocket的一个解决方案。很遗憾的是,websocketsession是不支持序列化操作,所以也就不可能存在redis中。我们知道在单节点中我们只需要把websocketsession存储在Map中就OK,每次发送通知都从map中根据clientID获取对应原创 2021-08-26 11:10:28 · 3907 阅读 · 1 评论 -
JAVA连接oracle数据库并执行SQL,解决in传参的问题,并将结果放入指定队列
JAVA连接oracle数据库并执行SQL,解决in传参的问题JAVA连接Oracle发送消息至指定队列间隔10秒执行java连接ORACLE数据库并执行SQL语句,查询结果另做处理JAVA连接Oracle/** * 连接ORACLE数据库 每隔10秒查询一次数据,发送到其他队列,并修改数据库已经发送至队列的数据的删除标志 */ private static void extracted() { System.out.println(new SimpleDa原创 2021-11-29 10:28:07 · 1237 阅读 · 0 评论 -
JAVA 判断字符在字符串中出现的次数(无需循环)
/** * 判断字符在字符串中出现的次数 * @param content 字符串 * @param charStr 字符 * @return 出现次数大于一次返回true */ public static int checkRepeatChar(String content,String charStr){ String resultStr = content.replaceAll("\\Q" + charStr + "\\E",""); int coun原创 2021-11-19 11:11:32 · 558 阅读 · 0 评论 -
java 时间工具类
import com.sun.istack.internal.NotNull;import lombok.extern.slf4j.Slf4j;import org.apache.commons.collections4.CollectionUtils;import org.apache.commons.lang3.StringUtils;import org.apache.commons.text.WordUtils;import java.text.ParseException;impo.原创 2021-10-26 14:39:19 · 537 阅读 · 0 评论 -
java 停止从消息队列接收消息
开始或停止从队列接收消息通过JmsListenerEndpointRegistry的start()与stop()方法开始或停止从队列接收消息@Autowired private JmsListenerEndpointRegistry jmsListenerEndpointRegistry; // 停止 if(jmsListenerEndpointRegistry.isRunning()){ jmsListenerEndpointRegistry.stop();原创 2021-10-26 09:28:05 · 331 阅读 · 0 评论 -
springcloud 配置服务间启动顺序
springcloud 配置服务间启动顺序springcloud 微服务是由多个可独立运行的springboot服务组成,服务间可互相调用。但是如果在服务启动的时候,A服务依赖B服务的一些接口,此时B服务未启动完成,则A服务需等待B服务启动完成后才能启动。本文通过EUREKA服务注册与发现功能实现自定义服务启动顺序。eureka服务注册与发现的机制原理此处不再叙述,本文主要通过EurekaDiscoveryClient获取注册中心注册的服务列表,轮询检查各服务的状态,根据状态(UP)以及调用服务的接口测原创 2021-10-26 09:23:08 · 2624 阅读 · 0 评论 -
java 将avi视频转换为mp4格式并获取视频文件信息
引入jar包<!-- https://mvnrepository.com/artifact/ws.schild/jave-all-deps --> <dependency> <groupId>ws.schild</groupId> <artifactId>jave-all-deps</artifactId> <version>3.1.1</version> &原创 2021-10-21 11:04:22 · 1284 阅读 · 0 评论 -
Spring Cloud的微服务架构分析
Spring Cloud是一个相对比较新的微服务框架,2016年才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造转载 2021-10-15 09:16:33 · 86 阅读 · 0 评论 -
将List中根据指定字段分组,取非空属性最多的对象
按照指定字段分组,取非空属性最多的对象/** * 根据年龄分组,返回每组中非空字段最多的对象的集合 * * @param persons * @return */ public static List<Person> disposeFeedBacks(List<Person> persons) { List<Person> personList = new ArrayList<>();原创 2021-10-11 16:56:49 · 484 阅读 · 0 评论 -
JAVA 屏幕录像
java实现屏幕录像的原理:对当前屏幕进行截图,然后将截图合成视频。根据配置(包括视频帧率:即截取屏幕的频率 截图质量 截图及视频文件存放地址)截图并生成视频文件。Config 一些配置文件ScreenRecording 截图工具类JpgToAviUtil 图片生成视频工具类ScreenRecordTest 测试类Config配置文件import org.springframework.beans.factory.annotation.Autowired;import org.sprin原创 2021-09-24 10:32:50 · 2941 阅读 · 0 评论 -
JAVA字符校验
/** * 获取数组中某个元素的下标 * * @param indexs 数组 * @param index 元素 * @return 元素下标 */ private int getIndexOfArray(int[] indexs, int index) { for (int i = 0; i < indexs.length; i++) { if (indexs[i] == index) {原创 2021-09-09 11:21:50 · 417 阅读 · 0 评论 -
判断点是否在多边形区域内
/** * 判断是否在多边形区域内 * * @param point 要判断的点 * @param pointHeight 要判断的点的高度 * @param points 多边形区域各顶点的数组 * @param ponitsMinHeight 多边形区域最小高度 * @param ponitsMaxHeight 多边形区域最大高度 * @return boolean */ public stati..原创 2021-09-09 11:14:54 · 165 阅读 · 0 评论 -
字符超过指定长度自动换行
/** * 字符串超过58个字符后,以空格换加换行符 * @param s * @return */ public static String newLineStr(String s) { StringBuilder sb = new StringBuilder(); int count = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '\n') {原创 2021-09-09 11:12:15 · 1189 阅读 · 0 评论 -
判断数组是否有序
判断数组是否有序 按照元素大小判断/** * 判断数组是否有序 按照元素大小判断 * @param arr */ public static boolean isSorted(int[] arr) { int i; boolean flag = false; for (i = 0; i < arr.length-1; i++) { if(arr[i]>arr[i+1]){ System.out.println("是无序数原创 2021-09-09 11:06:29 · 1167 阅读 · 0 评论 -
获取两个日期之间的天数/日期加时间/校验日期格式是否严格
/** * 获取两个日期之间的天数 * @param startDateStr 开始时间 * @param stopDateStr 结束时间 * @return 相差天数 * @throws ParseException */ public static int getDatePoor(String startDateStr, String stopDateStr) throws ParseException { SimpleDateFormat dft =原创 2021-09-09 11:04:49 · 118 阅读 · 0 评论 -
获取bean中非空字段的属性及个数
获取非空属性/** * 获取非空属性 * @param source * @return 所有非空的属性名 */ private static String[] getNullPropertyNames(Object source) { final BeanWrapper src = new BeanWrapperImpl(source); java.beans.PropertyDescriptor[] pds = src.getPropertyDescript原创 2021-09-09 10:59:14 · 515 阅读 · 0 评论 -
java异步调用方法
java异步调用方法/** * 单独开启一个线程,运行一个程序,不影响其他程序处理,其他程序无需等待该方法执行结束 * * @param params * @return */public void changeSendFlagWaitSecond(Long originalMsgId) throws InterruptedException { // 两个线程的线程池 ExecutorService executor = Executors.newFixedThreadPo原创 2021-09-09 10:46:32 · 421 阅读 · 0 评论 -
Java 上传下载文件到服务器
将List中的元素按照指定属性分组/** * 根据姓名分组 * * @param personList * @return */ private List<Person> groupByReadType(List<Person> persons) { List<Person> personList = new ArrayList<>(); // 使用lambda表达式将原创 2021-09-09 10:40:12 · 777 阅读 · 0 评论