自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 java操作doc(一)——java利用Aspose.Words操作Word动态模板文档并动态设置单元格合并

本文详细介绍了使用Aspose.Words在Java项目中动态生成Word文档的完整方案。主要内容包括:1)Aspose.Words的功能简介,支持文档生成、合并、水印等操作;2)SpringBoot项目集成步骤,包括授权配置和Maven依赖引入;3)核心功能实现,包含模板字段绑定、动态表格数据填充、单元格合并(垂直和水平)等关键代码示例;4)实际业务场景应用演示,展示如何导出包含动态数据的Word文档。该方案特别适用于需要批量导出报表或管理类文档的业务场景,通过代码自动化可显著提高文档处理效率。

2024-11-23 16:07:45 2219 2

原创 springboot特殊问题处理2——springboot集成flowable实现工作流程的完整教程(一)

摘要:本文介绍了轻量级工作流引擎Flowable在SpringBoot项目中的集成与使用。相比Activity,Flowable具有更低的学习成本和开发难度。文章详细说明了集成步骤,包括依赖引入、数据库配置以及34张工作流表的自动生成。同时展示了关键功能实现代码,如流程部署、任务查询、流程执行等,并重点介绍了流程图的动态生成方法。开发环境要求JDK1.8+、MySQL8.0+,通过SpringBoot2.3.12实现。Flowable简化了业务流程开发,适合追求效率的开发者使用。

2024-06-21 16:49:35 1692

原创 linux部署运维1——centos7.9离线安装部署web或运行java项目读取外部配置和所需的依赖环境设置以及相关基础linux命令,包括mysql8,nginx,redis5等工具安装配置

本文介绍了CentOS7.9系统下离线部署Java项目所需依赖环境的完整方案。针对无网络环境的特殊情况,通过下载系统镜像获取依赖包,采用编译安装方式解决环境搭建问题。详细讲解了系统版本确认、镜像包下载方法,并提供了常用运维命令参考。重点阐述了JDK1.8、Nginx1.20.2、Redis5.0.9、MySQL8.0.15等核心组件的离线安装步骤及注意事项,同时包含unzip工具的安装方法。最后说明了Java项目的启动配置和日志管理技巧,以及Spring Boot项目读取外部配置文件的优先级规则。该方案为无

2024-05-29 11:56:21 1877

原创 java List.stream()使用技巧1——java8中stream用法详解:过滤、求和、排序和数据结构转换操作

本文介绍了Java Stream API在实际项目开发中的常见应用场景,主要包括:1)集合转换(List转List、Map等);2)数据筛选过滤;3)属性动态设置;4)排序操作(单属性及自定义排序);5)数值求和(BigDecimal和基本类型);6)分组统计与过滤;7)特殊用法如字符串转数组匹配等。通过Stream API可以简化数据结构转换操作,配合Lambda表达式能有效提升代码简洁性和可读性,适用于各种数据处理需求。

2024-02-05 15:48:47 1420

原创 java解析CSV文件(一)——Java使用Apache.Commons.CSV解析CSV文件应用实践

本文介绍了使用Spring Boot 2和Apache Commons CSV解析CSV文件的方法。CSV文件因其简单性和跨平台兼容性,成为数据交换的理想选择。文章首先对比了CSV与其他文件格式的优劣,然后详细展示了实现过程:1)通过Maven引入commons-csv依赖;2)创建映射对象类MibMappingObj;3)使用CSVParser解析CSV文件数据并映射到Java对象。示例代码演示了如何读取CSV文件、处理表头映射、数据转换等关键步骤,为Java项目中处理CSV数据提供了实用参考方案。

2025-12-05 15:08:12 459

原创 java对接物联网设备(二)——java配置读取snmp协议数据,同时包含windows和linux测试SNMP服务完整使用手册以及MIB Browser网络管理工具使用教程

本文介绍了SNMP(简单网络管理协议)的基础知识和应用实现。SNMP作为IP网络管理标准协议,包含SNMPv1/v2c/v3三个版本,通过管理信息库(MIB)的树形结构组织设备信息。文章详细展示了在SpringBoot项目中集成SNMP4j实现数据采集的方法,包括配置管理、OID映射、批量采集等核心功能。同时提供了Windows/Linux环境下SNMP服务的安装配置指南,以及MIB Browser工具的使用说明。该方案基于维谛动环设备开发,采用SpringBoot2框架,实现了对网络设备的标准化监控管理。

2025-12-04 18:18:27 296

原创 docker特殊问题处理4——最新最全处理docker镜像拉取报错问题Error response from daemon: Get “https://registry-1.docker.io/v2/

摘要:本文针对国内用户使用Docker时遇到的镜像拉取失败问题(如"Error response from daemon"),提供了详细解决方案。首先检查DNS配置,通过修改/etc/netplan下的配置文件设置静态IP和DNS地址;其次配置Docker镜像源,编辑/etc/docker/daemon.json文件添加国内镜像地址;最后通过重启Docker服务使配置生效。文章以Ubuntu 22.04和Docker 28.5.2为例,适用于大多数Linux系统,帮助用户解决因网络问题导

2025-11-20 12:03:01 2011

原创 java对接物联网设备(一)——使用okhttp网络工具框架对接标准API接口

本文介绍了如何使用Java中的OkHttp3库快速对接第三方HTTP接口。主要内容包括:1)在SpringBoot项目中引入OkHttp3依赖;2)通过示例代码演示POST请求的发送,包括设置连接超时、JSON请求体构建和请求头处理;3)展示GET请求的基本实现方法。文章提供了完整的代码示例,涵盖了从请求发送到响应处理的完整流程,帮助开发者快速实现基于HTTP协议的数据交互。

2025-09-04 16:33:33 451

原创 数据库SQL高阶操作1——Mysql8转换DM8相关sql语法优化调整,包括临时表,递归,函数,以及方言等特殊操作的改造支持

本文介绍了MySQL8向DM8数据库转换的改造要点。主要包括字符串类型转换要求、递归查询语法差异处理(DM8采用类似Oracle的CONNECT BY语法)以及常见函数和方言的改造说明。特别指出DM8在关联查询时必须保证数据类型一致,不支持MySQL的group_concat()函数,需改用WM_Concat(),日期运算语法也与MySQL不同。文章为政府、高校及国企项目中的数据库国产化替代提供了实用技术参考,并推荐使用SQLark作为DM数据库可视化工具。

2025-08-05 18:49:31 400

原创 java多线程编码应用(二)——java多线程CompletableFuture高阶应用和单例线程池ThreadPoolExecutor的使用优化和监控

本文介绍了CompletableFuture的高阶用法与线程池使用规范。重点讲解了如何正确配置ThreadPoolExecutor线程池,包括核心线程数设置(建议CPU核数)、最大线程数(核心线程4倍)、队列容量(建议≥500防止OOM)和拒绝策略选择。提供了两种线程池配置示例:示例一采用AbortPolicy直接拒绝超负荷任务,示例二使用CallerRunsPolicy保证所有任务执行。文章还演示了如何结合CompletableFuture实现多线程异步查询,并通过日志监控线程池状态(当队列>100

2025-04-27 15:00:33 447

原创 java操作文件(一)——java如何实现多文件打包压缩并下载

本文介绍了使用Java原生IO流实现多文件压缩打包下载的方法。通过ZipOutputStream将多个文件打包成ZIP格式,无需依赖第三方库。关键步骤包括:读取文件列表、创建ZipOutputStream、逐个添加文件到压缩包、处理文件名重复问题,最后将生成的ZIP文件通过HttpServletResponse返回给前端。该方法适用于需要批量下载多个文件的场景,实现了高效的文件压缩和下载功能。

2024-12-03 17:39:29 1209

原创 java操作doc(二)——java利用Aspose.Words动态创建自定义doc文档

本文介绍了使用Aspose.Words动态创建自定义Word文档的方法。首先需要获取授权,然后通过DocumentBuilder创建文档对象,设置标题样式、正文格式和表格内容。文章详细展示了如何创建表格、设置单元格格式、合并单元格等操作,最后将生成的文档以流形式输出。该方法可实现Word文档的完全自定义创建,适用于需要动态生成标准格式文档的场景。

2024-12-02 11:45:28 899

原创 前端基础操作1——利用nvm任意切换(管理)node版本

为了解决node.js各种版本存在不兼容的现象,可以通过nvm来管理和切换不同版本的node.js。

2024-06-20 15:24:46 881

原创 java基础操作5——java自定义获取任意年、月、周、日的起始和结束时间以及获取各年月日包含的日期标签列表

本文介绍了Java中处理各类时间范围起始和结束时间的实用方法,包括获取年、月、日、时等时间单位的起止时间,判断时间区间,计算周信息及月份天数等功能。通过Calendar类实现精确时间操作,如设置年份首尾时间(1月1日0时和12月31日23:59:59),月份首尾时间(1日0时和月末日23:59:59)等。文章还提供了生成不同时间周期标签列表的方法,适用于统计业务开发。这些工具方法能显著提升开发效率,满足各类时间处理需求。

2024-06-14 11:17:36 675

原创 linux部署运维3——centos7.9离线安装部署配置涛思taos2.6时序数据库TDengine以及java项目链接问题处理(二)

本文主要讲解涛思(TAOS)时序数据库2.6版本的初始化配置及使用。内容包括:1)Java项目连接TAOS的注意事项,强调JDBC驱动版本需与服务器TAOS版本一致;2)数据库初始化操作,包括创建/删除数据库、设置数据保留策略等;3)数据表管理,详细说明父表/子表的创建方法及增删改查操作;4)远程连接配置,提供默认端口和认证信息。文中提供了相关官方文档链接,帮助解决Java连接问题和数据库操作问题。

2024-06-13 15:29:34 989

原创 linux部署运维3——centos7下导入导出mysql数据库的sql文件以及查询数据量最大的表信息和批量修改所有表的编码格式为utf8mb4以及排查mysql的cpu使用率过高等sql高阶操作

本文介绍了MySQL数据库常用的导入导出操作和高阶管理命令。导入SQL文件可通过Linux命令行或MySQL命令行两种方式实现;导出操作支持导出整个数据库、仅结构或指定表。文章还提供了实用的高阶命令,包括查询大表信息、批量修改表编码、添加字段索引、监控线程状态等,这些命令对数据库维护和性能优化很有帮助。所有命令都给出了具体语法示例,便于直接使用。

2024-06-04 15:40:57 999 1

原创 linux部署运维2——centos7.9离线安装部署配置涛思taos2.6时序数据库TDengine(一)

时序数据库是处理时间序列数据的专业数据库,适用于工业互联网等高频数据采集场景。国产开源时序数据库TDengine专为物联网、工业互联网优化设计,具有高性能、云原生等特点。本文介绍了TDengine的安装部署流程,包括下载安装包、执行安装脚本、服务启动等步骤,并提供了基础操作命令和问题排查建议。对于熟悉关系型数据库的开发者,使用时序数据库可以类比操作。文章还提供了详细安装指南和Java项目连接TDengine的参考链接,帮助开发者快速掌握时序数据库的使用方法。

2024-05-31 16:59:10 2009

原创 文件传输服务应用1——java集成smb2/3实现文件共享方案详细教程和windows共享服务使用配置

本文介绍了在SpringBoot项目中集成SMB协议实现文件共享的方法。首先说明SMB协议在Windows环境中的优势,然后详细讲解了实现步骤:1)在Windows中设置共享文件夹;2)引入SMB相关依赖包(jcifs和smbj);3)配置SMB连接信息;4)开发SMB工具类实现登录、读取、下载、上传等功能。文章提供了完整的配置示例和工具类代码,包括属性配置、认证登录、文件操作等核心功能,并说明需要注意SMB协议版本兼容性问题。通过该方案可实现Java应用与SMB服务器的文件交互,适用于局域网内的文件共享场

2024-05-24 12:03:42 2038

原创 mybatis的使用技巧3——MyBatis-Plus快速入门及其使用技巧总结

MyBatis-Plus是一个MyBatis的增强工具,在保持MyBatis特性的同时提供了更便捷的开发体验。它具有无侵入、损耗小、强大的CRUD操作、Lambda表达式支持、主键自动生成等特性,能显著提升开发效率。支持多种数据库,内置代码生成器、分页插件和性能分析工具。集成简单,只需添加依赖即可使用。常用功能包括QueryWrapper查询(支持单对象查询、列表查询、in条件、时间筛选等),通过链式调用简化SQL编写。适用于SpringBoot项目,是单表操作的理想选择。

2024-05-22 11:46:21 468

原创 linux基础运维2——ubuntu18.04安装配置nginx1.20.2详细教程,同时设置前端项目访问和开机自启动

本文详细介绍了Nginx的安装配置及前端项目部署方法。主要内容包括:1)从官网下载解压Nginx安装包;2)安装编译环境依赖;3)执行configure、make、make install安装步骤;4)启动Nginx服务并查看日志;5)重点讲解了前端项目配置方法,包括静态资源路径设置、反向代理配置及WebSocket长连接的特殊参数设置。文中还提供了开机自启动设置参考链接,为开发者提供了一套完整的Nginx配置解决方案。

2024-05-16 17:28:17 1025

原创 linux基础运维1——ubuntu18.04安装配置jdk1.8详细教程

在java项目实施运维过程中,jdk的安装和配置属于必要操作

2024-05-14 15:54:53 666 1

原创 springboot特殊问题处理1——springboot如何实现同时支持http和https访问

一些特殊场景如微信,支付或者位置调用等,必须使访问协议同时支持http和https协议,这时候我们的项目就需要配置ssl协议证书,同时自定义添加web容器支持。

2024-05-13 15:33:48 922

原创 java多线程编码应用(一)——java多线程CompletableFuture基础使用

使用多线程编程,可以异步并行执行多个任务,提升用户使用体验,发挥多核cpu的性能。

2024-05-08 16:46:14 1263

原创 spring的高阶使用技巧1——spring中ApplicationListener注册监听器的使用

在Spring框架中,ApplicationListener接口允许开发者注册监听器来监听应用程序中发布的事件

2024-04-30 16:14:55 972 3

原创 SpringCloud特殊问题处理1——SpringCloud中各个模块如何通过Feign传递List类型参数

在微服务项目的开发过程中,远程数据接口调用是必需的操作,对于List这种对象的参数使用需要异常关注。

2024-04-29 15:06:26 1761 2

原创 mybatis的使用技巧9——mybatis按年、季度、月、周等不同时间维度查询或分组统计,支持显示具体时间序列和无数据以0补位

在实际项目开发过程中,按不同时间维度查询业务数据的操作异常频繁,本文介绍mysql如何按年、季度、月、周、日等不同维度查询或分组统计数据,支持无数据时以0补位

2024-04-25 15:24:47 1132

原创 消息服务应用1——java项目简单实现websocket并配置前端链接访问

WebSocket由于其自身的可靠性强,实时性好,带宽占用更小的优势,在实时通讯应用场景中独占鳌头

2024-04-24 15:27:38 1977 1

原创 mybatis的使用技巧8——mybatis使用联合查询union和union all的区别和用法

在实际项目开发中,会经常联合查询结构相似的多张数据表,使用union关键字就只需要一次sql操作,而无需执行多次查询并通过代码逻辑合并处理

2024-04-19 16:42:51 3576

原创 spring特殊问题处理1——spring有关循环引用问题解决The dependencies of some of the beans in the application context form

在springboot2.6以后,因bean之间循环引用会导致启动报错的问题。

2024-04-17 17:32:18 815 1

原创 docker特殊问题处理3——docker-compose安装配置nacos

如何使用docker-compose安装,配置,链接nacos,请参看本文

2024-04-11 18:00:03 1981 3

原创 mybatis的使用技巧7——mysql中in,exists,join的用法和区别

sql查询中的连表查询和子查询用的是最多的,但是很多人对于in,exists,join的用法认识不足,随意运用,这种情况如果在大数据量查询时,会存在很大的隐患。

2024-04-10 17:41:54 1145

原创 nacos问题处理1——spring-cloud中多方案实现nacos动态刷新配置

在微服务项目使用和运维中,Nacos作为配置中心使用率很高,很大程度上源于阿里巴巴背书且开源,后面有众多的社区支持讨论。

2024-04-02 11:52:17 1136

原创 docker特殊问题处理2——docker批量删除标签为none的镜像以及常用docker命令

标签为none的镜像在Docker官方文档中被称作dangling images,指的是没有标签并且没有被容器使用的镜像。

2024-04-01 11:31:35 2624 1

原创 java基础操作4——java使用欧式距离计算三维空间两点之间的绝对距离

涉及到三维空间的距离计算,或者准确说是两点的相似度,需要用到欧式距离算法。此距离衡量多维空间中两个点间的绝对距离,属于矢量单位

2024-03-28 11:53:03 1321

原创 docker特殊问题处理1——docker-compose build完成后代码不生效

当基于多个项目使用docker-compose构建时,会时不时发现不能实时构建最新上传的jar包,以至于开始怀疑人生,最后发现竟是缓存在作怪。

2024-03-26 11:52:44 1729

原创 java基础操作3——java多种方案实现计算地图上两个坐标间距离

在实际项目中,涉及定位和位置信息业务时,计算两个点的距离算是比较常见的问题。多个方案计算两个点坐标的写法,可以围观讨论

2024-03-20 15:27:02 1073

原创 java处理http请求操作1——java使用HttpClien发送post请求,json传值

在实际项目开发过程中,与第三方对接数据是比较常见的操作,利用HttpClien处理get和post请求其实就是核心。

2024-03-18 15:51:31 1455

原创 mybatis的使用技巧6——mybatis如何使用自定义时间范围查询

自定义时间范围查询是常见操作,写法多样,需要注意的是在执行sql查询时,要避免数据格式转换带来的效率问题。

2024-03-08 15:58:51 2101

原创 java基础操作2——java设计问题:避免嵌套循环,如果存在多层循环请考虑设计是否合理

对于初学者或者设计不合理的业务产生了嵌套循环甚至多层深度循环时,首先得想想业务这样实现真的合理吗?

2024-03-05 17:46:23 691

原创 java注解使用1——java注解之时间格式化@DateTimeFormat和@JsonFormat对比和应用

注解的使用可以减少大量重复性工作,且具有通用性,非常适合提高工作效率,但是@DateTimeFormat和@JsonFormat时间格式化的注解在使用中还是要多注意

2024-03-01 17:47:50 3819

空空如也

空空如也

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

TA关注的人

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