- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 java程序部署,将nginx和springboot的jar包分别设置成服务启动部署
下载后把下载的winsw-x.x.x-bin.exe 文件放在Nginx安装目录(F:\ceshi\nginx-1.26.2),修改名称为nginx-service.exe,nginx-service.exe.config,nginx-service.exe.xml文件,把这两个文件也放在Nginx安装目录下。注意:每次修改完nginx.conf文件,需重新启动Niginx Service服务,方可生效。Nginx-xxx\logs下查看错误日志,然后根据错误日志查找解决方案。下载完成后进行安装出现如下。
2024-12-16 15:37:20
966
原创 springboot 配置logback-spring.xml,配置日志只保留7天数据,滚动更新
- 设置每个日志文件的最大大小 -->-- 每天滚动生成日志文件 -->-- 保留最近7天的日志 -->2、书写logback-spring.xml。3、配置文件指定级别和路径。
2024-12-16 10:04:07
630
原创 springboot集成mybatis插入数据时返回刚插入数据的自增id,插入数据没有使用实体
直接上代码吧 需要改两个地方一个dao一个xml。
2024-09-29 14:10:15
249
原创 springboot中的监听事件儿,程序退出时关闭如对设备的登录,让设备释放连接
System.out.println("用户登录ID为:" +userId +"退出结果为:。最近在做海康设备产品的对接,因为频繁操作设备,设备有最大的连接数。而海康设备登录的连接不调退出的接口。连接不能释放,并且最大连接数是有个数限制。故在程序中只登陆一次,避免重复登录。当程序退出时,监听事件儿触发,调用退出的接口,释放设备的连接,直接上代码。// 执行需要在程序关闭时进行的操作。全局变量,在不同方法中赋值、使用。//退出登录,释放资源。
2024-09-26 15:21:43
317
原创 springboot对数据库进行备份+对一个文件夹内的文件按时间排序,只保留最近的8个文件
mysqldump --opt -h 192.168.1.200 --user=root --password=xxx --result-file=E://data//20240911141400.sql --default-character-set=utf8 xxx(数据库名)System.out.println("数据库备份成功,保存路径:" + sqlPath);System.out.println("执行语句:" + sb.toString());// 指定导出的 sql 存放的文件夹。
2024-09-11 15:00:19
1328
原创 springboot集成海康sdk,针对视频流获取某一点的实时温度
/ System.out.println("NET_DVR_PLAY_REVERSE失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());System.out.println("温度是·············"+((float)Math.round(temperature * 10)) / 10);System.out.println("查找失败,错误码为" + hCNetSDK.NET_DVR_GetLastError());
2024-08-22 14:34:16
960
原创 springboot项目不同模块间接口的调用
System.out.println("list 结果是" + list);System.out.println("body 结果是" + body);System.out.println("list 结果是" + list);//请求的返回的body类型为String。以及处理在for循环中调用线程池处理业务。//调用接口数据传递。
2024-08-12 14:05:43
685
原创 springboot集成海康SDK,设备抓图,热成像仪设置多个点代码获取,以及针对红外图点击某一点获取该点温度的需求
因为海康热成像仪只能导出最大256*192的温度矩阵,所以需要把抓到的图像素进行调整,如果你抓图是1280*960,需要把x和y除以5和256*192匹配。以上功能全部实现,海康的sdk可以去官方进行下载,我在里边做了相应的调整实现了相应的功能,如果按图不能实现欢迎各位留言,交流看到会进行回复。NET_DVR_RealPlay_V40命令本人jdk21一直抓图不成功,程序直接退出,后续调用。3、针对海康热成像仪抓取的热图能够随便点击任意一个点就能获取其温度的功能。在海康提供的sdk中取流后抓图调用的是。
2024-08-03 15:18:12
1167
4
原创 java导出PDF详细教程+各种踩坑
String fileName = "日志报表_" + startDate.split(" ")[0].toString() + "~" + endDate.split(" ")[0].toString() + ".pdf";// document.add(new Paragraph("中文中文", fontChinese));String[] array = {"姓名", "操作方法", "日志类型", "操作时间"};//将单元格内容添加到表格中。//将单元格内容添加到表格中。
2024-07-16 17:04:34
906
10
原创 java从红外图片提取温度,计算超过阈值的温度占总面积的百分比
现在我们已经知道我们看到一张灰度图是由许多不同灰度值的像素点构成,而每个像素就是一个越亮的像素,灰度值越高,最高值是255(白色),越暗的像素,灰度值越低,最低值是0(黑色)。我们已经知道我们看到一张灰度图是由许多不同灰度值的像素点构成,而每个像素就是一个代表灰度值的数字,那么我们想想许多数字按照图像的形状成矩形排列,会变成什么呢?灰度值的范围为0-255,根据灰度值的范围和红外图的右侧温度调范围21.5-124 建立线性关系。灰度值越高,则图像越亮。// 创建一个全黑的同样大小的图片,用于存储结果。
2024-06-17 13:58:03
1173
原创 java+SimpleRegression 线性模型,针对采集到的大数据设备温度,对设备温度做出预测
横截距是直线与X轴交点的横坐标,纵截距是直线与Y轴交点的纵坐标。一般来说,R²值越接近1,说明模型对数据的拟合程度越高,即模型能够更好地解释数据的变化。//斜率指的是,坐标系中y与x的比值,也就是tan(a),表示一条直线度倾斜度。以上是一个简单的状态图,描述了我们在解决问题时的主要流程,首先是数据收集,然后进行回归分析,最后进行预测。//神经网络中的w权重 就相当于斜截式中的斜率k,补偿e相当于斜截式中的截距b。在实际应用中,如果R²值大于0.4,一般认为模型的拟合效果较优,能够满足一定的分析需求。
2024-06-07 14:00:25
908
1
原创 在java中获取全年的节假日(包含周末和法定节假日及调休日)
调用第三方的接口接口地址:https://www.mxnzp.com/api/holiday/single/{date} 返回格式:JSON 请求方式:GET 请求示例:https://www.mxnzp.com/api/holiday/single/20181121?ignoreHoliday=false&app_id=lqidsosftvksuimd&app_secret=aldsZ1NsQzJHcWpuSnBZVmFpLzhPQT09 接口备注:获取指定日期的节假...
2022-05-31 16:13:40
8505
2
原创 mysql中索引失效的10中场景,踩坑
大家好,不知道你在实际工作中,有没有遇到过下面的这两种情况: 明明在某个字段上加了索引,但实际上并没有生效。 索引有时候生效了,有时候没有生效。 今天就跟大家一起聊聊,mysql数据库索引失效的10种场景,给曾经踩过坑,或者即将要踩坑的朋友们一个参考。1. 准备工作所谓空口无凭,如果我直接把索引失效的这些场景丢出来,可能没有任何说服力。所以,我决定建表和造数据,给大家一步步演示效果,尽量做到有理有据。我相信,如果大家耐心的看完这篇文章,一定会有很多收获的。1.1
2022-02-16 10:26:32
455
原创 mybatis多个字段模糊搜索踩坑
<select id="list" parameterType="com.user.UserInfo" resultType="com.user.UserInfo"> SELECT * FROM user WHERE 1 = 1 <if test="searchParam != null and searchParam != ''"> .
2021-12-17 14:56:03
379
原创 java(Springboot) excel模板下载、导入
一、java对excel模板的下载首先在resources目录下代码可以直接复制,标红的是你的excel表名。然后在浏览器输入连接http://xxxx:8610/cloud/basic/user/workUserExcel @RequestMapping("/workUserExcel") public void workUserExcel(HttpServletResponse response) { try { InputStream f
2021-03-19 14:48:06
1840
1
原创 Springboot集成JWT,扔掉redis缓存的单点登录,超级简单的单点登录
首先认识一下什么是jwt?首先jwt其实是三个英语单词JSON Web Token的缩写。通过全名你可能就有一个基本的认知了。token一般都是用来认证的,比如我们系统中常用的用户登录token可以用来认证该用户是否登录。jwt也是经常作为一种安全的token使用。与传统的单点登录相比?1、在传统的用户登录认证中,因为http是无状态的,所以都是采用session方式。用户登录成功,服务端会保证一个session,当然会给客户端一个sessionId,客户端会把sessionId保存在cooki
2020-07-31 16:44:56
2074
原创 springboot+事务,多张表的操作事务回滚
实际情景如下:删除一个导航,需要删除a表;删除导航的子模块需要删除b表;b表和c表有个关联关系表,需要删除c表的关联关系结果为a表的数据删除成功了,b表的数据未成功删除,这时候我们应该是b表数据回滚,a表数据也回滚,那么我们应该怎么实现这种方式呢?第一步,在springboot的启动类上开启事务,注解@EnableTransactionManagement第二步:事务注解,回滚@Transactional(rollbackFor = Exception.class)
2020-07-16 14:09:28
8008
9
原创 java导出excel,炒鸡详细。踩坑千万不要用HSSFWorkbook工具类,不要生成xls,用XSSFWorkbook生成xlsx
问题:java导出excel是每个后端开发人员的必备能力,excel由两种后缀,前期的xls及后来的xlsx,大部分人可能不知道他们的区别,我来给大家讲解一下最近的踩坑过程首先这是我想要的结果,设置单元格后内容过多后可以自动换行。用HSSFWorkbook工具类导出后,用excel2003 2007 wps打开都没问题但是用Excel2016和2019打开后如下图,what the fuck****。边框显示不全,并且也没有自动换行。思索前后果断放弃HSSF对应的xls,改为使用XSS
2020-07-10 14:29:18
5796
原创 记录一次代码重构,接口响应由25秒到3秒以内,内附List「Map」里的某一个Key的排序
背景:从300w和40w的两张表内查询数据,做业务处理,接口响应返回25s,(⊙o⊙)…看到这个响应内心是奔溃的。直接上优化前的代码public Map<String, Object> getSoftwareUsageComparisons(String beginDate, String endDate) { //定义结果集 Map<String, Object> resultMap = new HashMap<>(2); try
2020-07-02 15:19:26
246
原创 springboot配置多数据源,不同业务读取不同的数据源,亲测有效
先看一下目录结构。网上配置的多数据源有很多,但一定要配置适合自己的,中间很多坑,后边会一一标出来。目的就是项目中不同的业务去读取不同的数据库,目录结构配置如上。直接上代码配置springboot的配置文件,配置好的配置文件配置两个data类DataSource1 类package com.honghe.operations.datasource;import org.apache.ibatis.session.SqlSessionFactory;import or..
2020-06-01 18:04:58
3037
原创 从零搭建自己的SpringCloud项目,及SpringBoot升级到SpringCloud填坑
首先我们的项目构成是这个样子的,一个单体的Springboot项目。迫于需求越来越多,准备升级到SpringCloud,目前用到了SpringCloud的三个组件。eureka-注册中心,admin-监控面板,gateway-api网关。因为我们以前是springboot项目,升级到springcloud涉及到springboot的版本,spring的版本、mybatis的版本等等,中间遇到了N多的坑,后边一一道来。特殊说明:因为我们用到了springcloud的网关是gateway而非zuul..
2020-05-25 13:51:38
1841
原创 idea+springboot 完成项目的单元测试
单元测试很重要 很简单,但是可能3年码农的你可能还没写过也可能没有配过。本文主要针对service层增加的单元测试直接上代码吗,不废话:在pom中加入依赖,test-starter<!--测试依赖包--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifact
2020-05-14 15:44:34
1198
原创 Python初级:Python3环境搭建,超级详细
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。(百度百科)Python可以做什么:1、数据分析2、网络爬虫3、办公自动化4、AI 人工智能,如图像识别,语音识别5、web开发Python搭建:需要安装Anaconda和PyCharmAnaconda是Python的包管理器和环境管理器。Py
2020-05-14 14:03:20
1332
原创 springcloud入门及核心组件
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。Springboot主要服务于单体项目,小项目能够快速开发。springcloud 主要是分布式项目,大型微服务项目首先考虑。Spring Cloud 是什么?Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关
2020-05-09 11:20:44
219
原创 springboot 程序的完美监控
springboot微服务现在已经成了java开发的必不可少选择,轻量、部署简单、内置Tomcat和jetty等容器。对部署的项目进行服务运行的监控尤为重要我们知道项目的监控是尤为重要的,但是我们如果用jdk 自带的jconsole 和jvisualvm 的话会非常繁琐,且界面不是很友好。之前我们使用了spring boot 项目,但是都没有对项目有一个很好的监控。在spring 家族中有 s...
2020-04-30 12:31:10
1985
1
原创 查看linux服务器信息的命令
如何获取一台服务器的操作系统cat /etc/redhat-release获取一台linux服务器的cpu详细信息grep name /proc/cpuinfo | cut -f2 -d: | uniq获取一台服务器的主板信息dmidecode | grep -A16 "System Information$" | grep "Manufacturer" | he...
2020-04-29 17:23:17
447
原创 java命名一个线程,并对线程的操作
java的定时任务内免不了用线程去处理一些业务,本文将讲解如何自己随意控制一个线程对业务的处理。直接上代码:List threadList = new ArrayList<>();//获取线程正在运行的线程ThreadGroup currentGroup1 = Thread.currentThread().getThreadGroup();int noThreads...
2020-04-28 12:27:31
341
原创 使用ffmpeg 对rtmp流保存成视频文件,对视频进行截图
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。这个项目是由 Fabrice Bellard 发起的,现在由 Michael Niedermayer 主持。可以轻易地实现多种视频格式之间的相互转换,例如...
2020-04-27 16:08:52
6735
原创 docker 命令最常用解释
1、查看镜像docker images2、查看容器运行情况:docker ps 与docker ps -adocker ps 是查看正在运行的docker容器,状态是updocker ps -a 查看这台服务器上所有部署的容器,状态包括已启动的和未启动的或者启动失败的3、容器的开启、停止和重启docker start xx(容器名称)docker stop ...
2020-04-26 16:38:26
791
原创 docker的快速入门
1.1 Docker是什么Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 使用 Google 公司推出的 Go 语言 进行开发实现。docker是linux容器的一种封装,提供简单易用的容器...
2020-04-26 14:58:57
195
原创 SQL语句 编写规范和调优指南
1.1、强制执行1.1.1、 【强制】不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。 说明:count(*)会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行。 执行效果上:count(*)包括了所有的列...
2020-04-26 14:49:17
405
原创 java 获取当月的第一天和最后一天,及一段时间内的工作日天数,按指定年月获取每一天,分钟转小时
直接上代码//获取当月第一天和最后一天Calendar cale = null;cale = Calendar.getInstance();// 获取当月第一天和最后一天SimpleDateFormat formatTemp = new SimpleDateFormat("yyyy-MM-dd");String firstday, lastday;// 获取当前月的第一天cal...
2020-04-23 11:23:50
1334
原创 java +PhantomJS + rasterize.js 实现网页的截图(无需打开浏览器),亲测有效
利用java实现一个网页的滚动截图,实现中无需打开浏览器。基于phantomjs 和rasterize.js实现。PhantomJS是一个基于webkit的javaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行javaScript代码。任何你可以基于在webkit浏览器做的事情,它都能做到。它不仅是个隐性的浏览器,提供了诸如css选择器、支持...
2020-04-20 15:29:01
2647
13
原创 两个List<Map>快速合并
在日常的开发中经常遇见需要对两个List<Map<String,Object>>合并后的数据进行处理,常用的方法无非是各自for循环再合并成一个新的List<Map<String,Object>>,不论效率还是业务上都非常复杂。针对此情况,利用Java 8 Lambda可以快速将两个List<Map<String,Object>...
2020-04-17 11:20:45
7893
4
转载 linux下的ssh远程登录详解
一般情况下,我们用ssh远程登录到服务器时,要输入用户名和密码。这对经常维护系统的人来说,很麻烦。怎样才能不用密码直接登录到远程的linux/unix服务器呢?ssh公钥认证可以解决这个问题。公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。 通过公钥加密过的密文使用密...
2019-01-29 08:44:38
1289
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人