开发日记
文章平均质量分 65
记录开发时发现的问题
木星mx
这个作者很懒,什么都没留下…
展开
-
Spring boot使用集群方式、支持ssl连接redis的方法
项目需要提供一个管理界面给内部人员操作用户信息,需要在修改用户信息后删除用户的redis缓存。用户所在的区域不同,其redis服务地址也不相同,因此需要管理多个redis连接,且redis要求以集群方式并支持ssl进行连接。原创 2024-05-26 00:05:07 · 601 阅读 · 0 评论 -
Spring boot接收zip包并获取其中excel文件的方法
【2】ZipInputStream实例调用该方法后,将会指向获取到的条目,这是使用ZipInputStream实例操作的就是获取到的ZipEntry对象。工作中遇到一个需求,接收一个zip包,读取其中的excel文件并处理,减少用户多次选择目录和文件的痛点,该zip包包含多级目录。二者是在内存中处理字节的IO流,相较于在磁盘中处理数据的IO流更快,在内存中处理数据也符合业务需求。【1】该方法可获取到zip包内的各级目录及各级目录下的文件,并不需要进行递归处理。原创 2023-09-27 00:14:33 · 991 阅读 · 1 评论 -
给前端返回http链接,由于浏览器缓存不能获取到最新资源怎么办?
今天在工作中接到这样一个需求,接收前端的图片文件并上传到远程,将原有图片覆盖并返回一个http链接以供前端展示。用户使用后反馈没有修改成功,上了远程拉图片发现已经修改了,但是用户浏览器还是老的图片。排查原因是浏览器存在缓存,虽然资源已经改变但是浏览器对同一个http链接还是使用了缓存里的老数据。解决方法也很简单,只需要在不改变访问地址的前提下改变http链接的内容,这样就是一个新的http链接,但是地址是正确的。原创 2023-08-31 00:10:57 · 363 阅读 · 0 评论 -
并发下如何使用redis存储列表数据
开发中的一点小心得,记录一下原创 2023-08-11 00:49:01 · 510 阅读 · 0 评论 -
Java:Map的getOrDefault()方法结果仍为null
工作中使用Map的一个小坑原创 2023-08-02 21:36:19 · 972 阅读 · 0 评论 -
解决没有配置本地nacos但是一直发生localhost:8848连接异常的问题
简介事情是这样的,为一个项目配置了注册中心nacos,一开始配置的是本机的nacos服务,后面将nacos地址改为虚拟机后,项目虽然启动成功,但是报nacos异常,如下:一共有两个配置文件:分别配置了:可以看到根本没有关于localhost:8848的配置,但是还是报了localhost:8848的异常,打开虚拟机的nacos可视化界面,发现服务已经注册到虚拟机的nacos中了出现问题的版本为:<!-- 注册中心-nacos--><...原创 2022-01-04 21:50:26 · 13915 阅读 · 2 评论 -
开发日记:分布式项目的maven工程管理方法
1、背景在分布式架构中,一个系统的业务会划分成多个模块实现。如商城系统的商品服务和仓储服务分别由商品模块和仓储模块实现。一个模块也即一个工程项目,我们需要对这些模块所需依赖进行同一管理,好处如下:1、简化配置过程:进行一次配置就可以让全部项目都引入这些依赖2、避免版本冲突:所有模块的相同依赖使用同一版本,避免冲突2、方法实现同一管理的方法有两种:父工程和聚合工程1、父工程方法创建一个父工程,让子模块用<parent></parent>标签引入该工程,所需依原创 2021-12-30 16:37:00 · 493 阅读 · 0 评论 -
minio实现STS签名服务
1、背景 在上一篇中:Docker部署Minio并与Springboot的集成_木星mx的博客-CSDN博客我们介绍了如何部署minio和与springboot的集成方法,但是在上传文件时,采用的是从浏览器获取参数读取本地文件上传,当项目部署到线上时,用户和项目服务处于不同机器上,这种方式就不适用了,因此需要进行升级。 升级后的效果是:项目服务只提供签名服务,用户通过访问项目提供的接口获取签名,然后用户使用签名上传文件,实现了用户到oss端对端的文件传...原创 2022-01-11 17:12:23 · 3946 阅读 · 3 评论 -
开发日记:stream入门,树形菜单功能的实现及bug修复
1、需求:有一个菜单表,字段catId用于唯一标识每一条记录,每一条记录代表一个菜单项;另有parentCid用于记录该记录的父级菜单,现需为每个菜单绑定他们的子菜单,表结构如下CREATE TABLE `pms_category` ( `cat_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '分类id', `name` char(50) DEFAULT NULL COMMENT '分类名称', `parent_cid` bigint(2...原创 2022-01-03 16:03:34 · 479 阅读 · 0 评论 -
开发日记:解决Cannot resolve org.springframework.boot:spring-boot-starter-test:2.3.2.RELEASE
1、背景在引入spring cloud gateway(网关服务)时,报了:Cannot resolve org.springframework.boot:spring-boot-starter-test:2.3.2.RELEASE所用spring系列版本如下,是官方推荐毕业版本:起初以为是官方推荐版本出错,几经斟酌之下决定相信官方,于是从pom文件入手,<project>发现报了以下错误:打开ma...原创 2022-01-01 21:54:34 · 4320 阅读 · 0 评论 -
开发日记:spring cloud gateway网关服务和解决跨域
1、背景在前后端分离的微服务项目中,前端给后端发送请求都是从一个配置好的默认路径发送给对应服务的如renren-fast-vue,在项目的staic/config/index.js文件中,我们可以观察到默认路径如下:;(function () { window.SITE_CONFIG = {}; // api接口请求地址(默认路径) window.SITE_CONFIG['baseUrl'] = 'http://localhost:8080/renren-fast';...原创 2022-01-04 10:59:16 · 1107 阅读 · 0 评论 -
Docker部署Minio并与Springboot的集成
1、简介开发项目时需要用到对象存储功能,而minio是github上一款开源的提供对象存储服务的项目,使用go语言开发,如果不想花钱购买主流大厂的对象存储服务(虽然不贵),可以参考本文的配置,在docker部署minio并将其集成到springboot项目中2、docker部署minio 关于minio的部署与使用可参照官方文档:MinIO | The MinIO Quickstart Guide,虽然minio有中文文档,但是很多都不准确,建议直接啃英文文档,也可参照博主的操作...原创 2022-01-08 16:35:10 · 1782 阅读 · 0 评论 -
开发日记:将Nacos注册成windows服务
1、插件下载 地址:Releases · winsw/winsw · GitHub选择下面这个插件:2、配置文件和插件安装1、在nacos解压包的bin目录下创建nacos-service.xml文件 2、在nacos-service.xml输入以下内容:<?xml version="1.0" encoding="UTF-8" ?> <servic...原创 2021-12-31 15:10:59 · 1507 阅读 · 0 评论 -
开发日记:解决Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource
背景springboot项目运行时,出现以下错误原因分析项目中引入了mybatis-puls依赖,springboot是约定大于配置,必须对数据源进行配置,否则无法启动项目解决这里提供两种解决方法:1、如果该项目需要使用mybatis-plus,那么配置文件中加入数据源spring: datasource: username: root password: 666 url: jdbc:mysql://127.0.0.1:3306/pms原创 2022-01-01 22:09:03 · 1152 阅读 · 0 评论 -
开发日记:docker部署nacos,启动成功但是访问失败解决
首先,观察下面的创建容器命令:docker run -p 8848:8848 --name nacos -d nacos/nacos-server这条命令创建的容器可以启动但是无法访问,原因是没有指定nacos的启动方式,需要设定以什么模式模式启动才能访问所以,设置以单机模式启动:docker run -p 8848:8848 -e MODE=standalone --name nacos -d nacos/nacos-server加粗部分即为设置单机模式启动,需要特别注意的是:原创 2021-12-31 22:22:38 · 16990 阅读 · 2 评论