Spring boot
文章平均质量分 68
GIS开发者
辽宁工程技术大学硕士研究生毕业,长期从事WebGIS、移动GIS开发工作,全栈 (前端、后端、Android、小程序、H5),现任某地理信息公司研发部经理,叩叩965894265
展开
-
centos服务配置springboot服务开机启动
在做后端服务运维时,经常遇到服务器重启时,需要移动一堆后端服务。服务器故障自动重启时,通常无人通知。把springboot服务的jar包配置开机启动太有必要了,虽然不是很复杂,这里记录一下太有必要了。原创 2024-02-29 21:45:40 · 646 阅读 · 0 评论 -
Centos服务器上根据端口号查询jar包,根据jar包查端口号
在开发springboot服务器时,经常会遇到其他人部署的java服务,需要自己维护,留下的信息又非常少。经常面临找不到jar包位置,或者不知道占用端口,不知道启动命令的问题。这里记录一下常用的centos服务器上的命令,方便大家后续运维时使用。原创 2023-12-06 16:49:49 · 778 阅读 · 0 评论 -
Springboot集成MyBatis-Plus并通过MyBatis-Plus-Generator生成代码
MyBatis-Plus是我们在开发时经常用到的一个框架,经常需要在开发Springboot项目时进行配置,正确使用,确实能给我们减少很多工作量,让我们不用再一个一个的根据数据库一个一个建实体类了。这里记录一下。原创 2023-10-18 22:30:03 · 838 阅读 · 0 评论 -
Java Maven Hello World项目实现打包为单独的可执行Jar包
平时经常开发管理依赖的项目,打包Jar包十分方便,直接package就可以了。最近偶然需要写一段类似Java的的项目,然后打包为Jar包,放到服务器上执行。突然不知道该如何打包了,在网上找了很多教程,用起来也都不太方便。最后发现使用,进行简单配置,即可打包。下面我介绍一下,如果具体操作。原创 2023-03-27 20:15:26 · 773 阅读 · 0 评论 -
Springboot 整合Flowable工作流框架搭建
我们在开发自动化办公软件时经常会遇到各种审批流程功能,这个使用就需要使用到工作流引擎。目前主流的工作流引擎有Activiti、Flowable、camunda,其中Flowable是在Activiti的基础上开发出来的,基于BPMN2.0协议,它包括 BPMN(Business Process Model and Notation)引擎、CMMN(Case Management Model and Notation)引擎、DMN(Decision Model and Notation)引擎、表单引擎(For原创 2023-02-24 19:35:09 · 2889 阅读 · 1 评论 -
Java使用国密SM3对文件或者字符串进行哈希
提到哈希,可能我们就会想到等算法,最近遇到项目,对象要求必须使用国密对文件进行哈希。之前对国密的相关算法接触的比较少,这里介绍一下如何基于Java语言,对文件或数据进行哈希。具体的SM3算法就不再介绍了,网上很多。原创 2023-02-13 19:30:22 · 2046 阅读 · 1 评论 -
Java开发环境中,使用GDAL进行矢量叠加,并计算面积
GDAL与Springboot的集成可参考Java开发环境下,GDAL的相关学习和使用的案例还是非常少的,并且部分函数的使用方式和Python、C环境下有很大的区别。已最近做的一个功能为案例,给大家分享一下Java环境下GDAL的用法。原创 2022-08-19 18:28:12 · 2109 阅读 · 1 评论 -
Springboot 集成GDAL开发环境配置
是一个用途十分广泛的GIS空间数据处理库。它既可以处理矢量数据,也可以处理栅格数据和矢栅叠加等操作。在Python开发环境里,它的配置十分方便,可以直接使用的命令。但是在Java环境的开发中,就稍微有点麻烦了。Springboot来开发后端服务又非常火爆,在Springboot中集成GDAL也是我们经常需要用到的。本来配置方法,是没有必要再写一篇博文的,但是我在网上找了一遍,发现关于这块的介绍乱七八糟,怎么写的都有,而且很多都无效。因此我介绍一下最简单的配置方法,没有多余操作。...原创 2022-08-19 08:43:04 · 2140 阅读 · 0 评论 -
Springboot整合轻量级反爬虫组件kk-anti-reptile
在做GIS开发时,经常遇到的一个风险,就是别会爬虫你的数据,栅格瓦片数据、空间属性数据等。数据被爬取,对服务器会造成很大的 压力,数据的价值也无形地损失了。对一些从事GIS的小型公司来说,基本没有任何网络防护的能力。数据被爬虫了,可能都不知道。很多服务器死机了也只知道重启。对一个小公司去话费大量的精力,做反爬虫也是很不安全的。最近在网上 遇到一个开源的反爬虫组件,spring-boot1.x, spring-boot2.x 均可使用。...原创 2022-08-09 20:30:00 · 1537 阅读 · 0 评论 -
Springboot版本冲突如何快速排查与修复
SpringBoot项目升级相关依赖时,很容易产生组件冲突,尤其是SpringBoot、Spring Cloud、Spring FrameWork这三部分依赖升级时,问题更不好解决。而系统经常性的要进行漏洞修复,导致这部分工作,我们经常要处理。最近遇到了依赖升级的麻烦,springboot需要有一个较大跨度的升级,也咨询了很多Spring Boot的开发人员,都说依赖升级没有什么太好的办法。总结一下,在这个工作中遇到的问题,升级还是可以解决的,但是比较麻烦。优先升级SpringBoot、Spring Clo原创 2022-07-13 11:45:56 · 2018 阅读 · 0 评论 -
Springboot 实现将文件压缩,然后下载
最近遇到一个需求,需要在请求接口时,将指定文件夹下的文件进行压缩,然后下载。最初的时候,我使用的是下面的流程进行开发的:创建压缩文件遍历文件文件流写入压缩文件写入完毕将压缩文件写入下载流删除压缩文件但是,这样的逻辑没有什么问题,但是下载时经常出现压缩包已损坏的问题。尝试了各种方法,一直没有解决。最后换了一种思路,如下图:获取http输出流基于1创建压缩文件写入流遍历文件将文件写入压缩文件流写入完毕这种的方法是直接遍历文件写入http的响应流,不用在服务器上再创建一个压缩文件,节省了删除文件的操作。而且,原创 2022-06-06 19:12:13 · 2281 阅读 · 0 评论 -
Spring出现NoClassDefFoundError....cloud/context/named/NamedContextFactory$Specification的解决办法
最近在做Springboot微服务开发时,正在调式FeignClient跨服务调用时,突然出现了这样的错误。java.lang.NoClassDefFoundError: org/springframework/cloud/context/named/NamedContextFactory$Specification at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_311] at java.lang.ClassLoader原创 2022-05-15 16:40:27 · 4817 阅读 · 2 评论 -
SpringBoot使用log4j2进行日志分片
在后端开发中,经常需要在服务器上查看日志。不进行特殊处理的话,一个日志文件可能最终到几十个G,查看起来非常不方便。这里使用log4j2对SpringBoot服务的日志进行一个根据日期切片。一个SpringBoot项目默认就是使用的就是logback日志系统,在一些特定场景下log4j2的性能相对更优。这里介绍一下如何使用配置log4j2,按照不同的的日期归档日志、固定大小分割日志、不同消息类型不同日志文件、控制台彩色输出。引入依赖在pom.xml中添加 <dependency>原创 2022-05-07 10:15:01 · 1013 阅读 · 0 评论 -
vue-simple-uploader结合Spring boot实现文件分块上传
文件上传功能是我们在做开发时经常会遇到的。Spring boot默认上传文件非常小,好像最大可以修改配置文件支持50M。如果太大的文件直接上传,占用内存太严重,很容易造成后台崩溃。这里我在使用前端使用vue-simple-uploader,后台使用Spring boot实现文件分块(分片上传)。同时了为了保障文件的完整性,加入了md5校验。vue-simple-uploader基于Vue的前端上传插件,支持分块和断点上传、自动重传,自带进度条,界面十分友好。在没做分块上传之前,我一直觉得这块很难做,用了原创 2022-05-06 15:59:17 · 2360 阅读 · 3 评论 -
Nacos2.0单机部署与Springboot 微服务注册
Nacos单机部署Nacos和Eureka是开发微服务经常使用的两个注册中心,Eureka已经闭源了,Nacos是由阿里开发,用起来肯定更方便一点,而且性能也更好。最近Nacos已经升级到了2.0的版本,这里简单介绍一下怎么部署,部署方法也比较方便。下载安装包编译好的安装包直接下载可以从https://github.com/alibaba/nacos/releases 下载最新安装包,也可以https://download.csdn.net/download/GISuuser/20978270原创 2021-08-11 11:16:36 · 760 阅读 · 0 评论 -
SpringBoot在初始化时执行sql,实现初始化数据库
前言最近需要在SpringBoot初始化时,执行特定的SQL,实现数据库的初始化。如:检测表是否存在,不存在则自动创建等。不算复杂,但是网上目前存在的解决方案比较多,很多最后都是无效的。一种方法是在spring.datasource.schema中配置sql所在位置,但是这个方法在我用的springboot2.5中已经无效了;一种方法是在启动时读取sql文件,然后动态连接数据库执行sql,这点我尝试后没有什么效果。使用DataSourceInitializer的方式实现,十分简单,而且可以动原创 2021-08-09 21:29:44 · 2562 阅读 · 0 评论 -
SpringBoot停止启动时测试检查rabbitmq
在Springboot项目中配置rabbitmq后,总是在每次启动时自动测试MQ的连接,如果测试不通过,就一直重连,导致项目无法正常启动。自己在开发与MQ无关的功能时,无法正常进行,十分耽误时间。如下所示:org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection timed out: connect at org.springframework.amqp.rabbit.support.R.原创 2020-08-05 19:47:33 · 4668 阅读 · 5 评论 -
RabbitMQ消息队列使用测试
在上一篇博文中,已经在Centos7.2上完成消息队列服务器的搭建。这里测试一下是否可以进行正常的消息推送和接收。新建一个Spring boot项目,然后进行测试pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=...原创 2020-04-21 19:55:45 · 857 阅读 · 0 评论 -
Centos7 上部署RabbitMQ3.8.3采坑记
前言原本以为RabbitMQ的部署会是一件非常轻松的事,网上教程也挺多的,结果花了半天的时间。挺无奈的,安装的过程各种出错。最后记录一下 采坑后记录的宝贵经验吧!软件版本Centos 7.2 RabbitMQ3.8.3 erlang 22.3过程部署erlangRabbitMQ使用erlang开发的,RabbitMQ不同版本要求不同版本的erlang。可以参照这个网页的说...原创 2020-04-21 17:25:37 · 974 阅读 · 0 评论 -
Spring boot设置允许跨域
跨域永远是后台开发遇到的一个永恒问题,使用Spring boot开始时需要进行跨域,查看了网上的一些方法,说的都不是非常清楚,不适合刚刚入门的新手,这里我总结一下:新建类package com.example.demo;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.s...原创 2019-04-04 15:07:19 · 976 阅读 · 0 评论 -
Spring boot+Mybatis+Postgresql框架搭建
没有接触Spring boot之前以为它是一个很困难的框架,接触之后才发现它非常简单,框架搭建仅仅使用idea就可以完成。准备安装Postgresql数据库,并在数据库中新建test表,id、name、year三个字段用来测试搭建教程新建项目 选择项目类型-spring Intializr和jdk版本 配置项目信息,主要在Pom.xml中使用 选择依赖web、Mybatis、...原创 2019-04-04 17:35:14 · 3474 阅读 · 3 评论 -
Spring boot结合微信小程序实现图片的上传和预览
主要是通过微信小程序将图片上传到Spring boot所在服务器并保存,保存成功后返回图片名称,小程序根据图片名称,远程显示图片,小程序的代码在前面的博文中微信小程序canvas实现个人签名,并保存为图片。Spring boot controller部分代码如下:package com.example.refi.controller;import org.springframewor...原创 2019-04-16 17:52:12 · 4217 阅读 · 0 评论 -
Eureka服务注册与发现
Eureka主要可以将各类Spring boot微服务状态进行维护,微服务端注册到 Eureka服务端,服务消费者可以将从Eureka获取各类服务地址,具体细节不多说,网上已经很多了。为了战争Eureka的服务注册和发现,要准备启动两个Spring boot工程Eureka服务端搭建pom.xml <dependencies> <dependen...原创 2019-04-19 10:09:24 · 371 阅读 · 0 评论 -
Eureka服务发现与消费
通过上篇博文 Eureka服务注册与发现发布了Eureka服务器和微服务,这次就来研究一下如何使用Eureka注册管理的服务,Eureka服务端还是用上次的Eureka服务端。因为要使用负载均衡,这次要多启动几个注册的服务。多启动几个提供微服务的客户端,首先复制其中的application.properties,复制几份,把其中server.port改成不同的。我用的开发工具是ide...原创 2019-04-19 10:56:29 · 324 阅读 · 0 评论 -
Eureka配置用户认证
Eureka在注册于消费服务的过程中,可以开启用户认证。首先在注册中心要依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</a...原创 2019-04-19 15:41:06 · 1103 阅读 · 3 评论 -
Spring Could——ConfigSever搭建
ConfigServer配置管理器本质上讲github上存储的配置文件,下载下来传递给其他客户端作为启动时的配置文件,对于大型的项目来说,具有很大的优势,对各类配置文件方便管理。下面主要分两步:配置服务器搭建依赖文件 <dependency> <groupId>org.springframework.boot</groupId&g...原创 2019-04-19 18:22:40 · 502 阅读 · 2 评论 -
Spring boot 配置Controller字段映射
在项目开发的过程中,后端实体类Model需要遵循驼峰命名规则,Controller请求却需要返回下划线格式的变量名,或者其他根据需求的变量名,这时可以使用jackson实现引入依赖<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jac...原创 2019-06-21 15:17:07 · 1809 阅读 · 0 评论 -
Spring boot2.0更换druid连接池
Spring boot1.0版本使用的是tomcat连接池,Spring boot2.0使用的是HikariCP连接池,号称性能最优。druid是阿里开源的连接池,性能比较全面。下面说一下怎么在Spring boot配置druid连接池。配置依赖 <dependency> <groupId>com.alibaba</gr...原创 2019-06-21 15:32:36 · 1120 阅读 · 0 评论 -
Spring boot配置Slf4j日志输出
Spring boot配置slf4j输出后台日志,对于系统的日常维护十分重要。配置依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> &l...转载 2019-06-21 16:21:01 · 1925 阅读 · 0 评论 -
nacos服务中心搭建与服务注册
之前作为服务注册中心的Eureka已经不再开源,阿里的nacos,越来越多的被使用。下面说一下已nacos作为注册中心,实现服务的注册。下载与安装下载地址为https://github.com/alibaba/nacos/releases,完成下载后,解压压缩包,Windows部署点击bin目录下的startup.cmd,即可运行,也可以通过命令进行单机版部署Linux/Unix/...原创 2019-06-26 08:24:06 · 5299 阅读 · 1 评论 -
经过spring cloud gateway 网关访问nacos上的服务
前面的博文已经叙述了如何将服务注册到nacos,今天这里说一下如何通过网关访问nacos上注册的服务。网关使用的是spring cloud gateway 。首先注册到nacos一个spring boot web服务,作为服务提供者。配置网关服务新建Spring boot项目,添加依赖 <dependency> <groupId>or...原创 2019-06-26 08:41:51 · 16820 阅读 · 4 评论 -
Spring boot文件下载
Spring boot文件上传和下载是经常用到的,这里分享一下Spring boot文件上传的代码,网上这类代码也比较多,但是这个代码还算是比较简洁,没有文件流的操作。 @GetMapping("/file/{id}") private ResponseEntity<Resource> downFile(@PathVariable String id,HttpServletR...原创 2019-09-05 09:53:26 · 284 阅读 · 0 评论 -
Vue与Spring boot基于RSA非对称加密进行前后端交互
当处理大型的系统项目,或者保密性要求高的项目。是要解除一些加密算法的,非对称加密肯定比对称加密更加安全,但是也更消耗性能。这里就展示一下前端使用Vue,后端使用Spring boot的情况下,进行前后端交互的情况。前端安装加密插件cnpm install jsencrypt --save在main.js中全局绑定加密方法,全局设置公匙import { JSEncrypt }...原创 2019-09-06 16:16:15 · 3834 阅读 · 0 评论 -
Java后端解析excel(url)网络资源
情景excel存储在文件服务器上,只能拿到excel的url,切Excel可能为xls或xlsx格式。需要在后台使用java解析Excel的内容。网上提供了方法大多都是先将Excel下载,然后读取本地文件解析,这样做比较麻烦,在存储文件上容易出现更多的问题,这里我直接使用流进行读取网络Excel文件。代码如下:代码maven依赖 <dependency&g...原创 2019-09-17 18:08:21 · 3378 阅读 · 4 评论 -
org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作
最近在做Spring boot+Mybatis的开发时遇到了这个问题,使用的数据库是Postgresqljava.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_201] at sun.reflect...原创 2019-04-04 14:45:19 · 1758 阅读 · 0 评论