自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记录一次操作文件的相关代码,实现上传需求

这次遇到的token是直接放在请求头里的,所以我要获取请求头的参数,进行权限校验,@DataValid是网关拦截的自定义注解,对token进行解码操作的。FileDto是一种文件结果的类型规范,记录了上传文件后的文件地址,文件大小,文件名、文件存储地址和文件加密后的MD5值(以后自己写也要执行这种规范),然后把记录存进一张表里,记录每次的文件上传操作。这一步是对文件的格式判断,通过对文件名后缀判断他是什么格式,并通过存在数据库字典表中的后缀名,来匹配是不是支持的文件格式,实现仅支持包含格式的文件上传,

2025-07-16 14:34:07 302

原创 记录一次JAVA调用讯飞语音合成SDK和学习泛型接口类的使用

该监听器的作用是,当语音合成成功输出文件时,调用监听器内的回调方法,在回调方法中,做了文件格式转换,文件删除和调用上传oss服务器的方法。不过最后由于,讯飞的语音合成SDK在多个请求下,最终只能生成一个文件,不支持高请求下的需求,遂转用阿里的付费语音合成。new SynthesizeToUriListener() (这一步)并且在TTSByIfly方法中作为入参。核心实现代码中,定义了一个监听器。

2025-03-27 15:31:51 382

原创 java的异常处理机制,向上抛出

方法调用栈的概念异常向上层抛出的过程示例代码说明 以下是结合上述代码详细说明在方法调用栈中各个调用方法的位置所在以及位置变化情况:程序从 方法开始执行,此时方法调用栈中只有一个元素,即 方法处于栈底位置,此时栈的情况如下:当执行到 方法里调用 的语句时, 方法被压入栈中,此时 位于栈顶, 方法在栈底,调用栈结构变为:在 方法内部执行调用 的语句后, 方法被压入栈顶,此时栈内从上到下依次是 、、,结构如下:接着, 方法里调用 , 会被压入栈顶,此时栈内元素顺序变为 在最顶部,然后依次是

2025-03-20 11:15:29 374

原创 项目启动报java: 警告: 源发行版 17 需要目标发行版 17【检查Maven配置】,查找原因

最后发现,还有一个地方是有问题的,因为本人在本地装了两个版本的jdk,17和1.8,即便我环境变量设置了JDK17的路径,但是在project structure中Platform Settings:SDKs中的JDK home path中还是指定了1.8的路径。随后,把这里更改为JDK17的路径之后,运行正常了。

2025-03-19 17:28:05 266 1

原创 解决同一订单重复推送的问题

入库操作后,再把redis里的key值撤销,这样就可以实现同一个id的工单进来的时候,可以判断redis是不是存在这个id的工单,如果存在直接不操作,进行返回,不过不存在,就进行下一步的操作。最近遇到了一个订单并发重复推送的问题,导致同一工单id的工单会重复入库。入库操作前,先把工单id作为key写入redis,

2025-02-20 11:48:19 254

原创 为不同订单上不同的锁,解决并发问题

为了实现对不同订单使用不同的锁,可以使用显式的锁机制,例如,或者更高级的并发工具,例如结合自定义锁对象。假设我们有一个订单处理系统,每个订单的处理需要同步以避免并发问题(比如资源共享等的相关问题)。我们可以通过为每个订单分配一个唯一的锁来实现这一点。以下是一个示例代码,展示了如何使用。

2025-02-20 10:35:42 213

原创 (避免遗忘)vue的组件间页面跳转功能

component: () => import('@/views/did/cpt/index') :表示定位到组件所处的文件位置。meta: { title: '凭证服务列表', icon: 'user' }:组件的显示信息,页面标题啥的。通过params传参,但是需要name指定要接参的路由,否则参数传不到。redirect: 'index':表示要嵌套在内层。name: 'cptList' :路由名称。

2024-07-25 13:40:10 368

原创 记录一下过滤器和拦截器的学习

但是springboot提供了一个servelet程序,叫做dispatchServelet(前端控制器),所以过滤器放行后会到dispatchServelet,然后再进入拦截器Interceptor放行代码逻辑及其放行操作。放行后到contoller层,controller做出响应后,将响应返回返回->Interceptor->dispatchServelet->Filter->浏览器(客户端)2.拦截范围不同:过滤器会拦截所有的资源,而Interceptor只会拦截springboot环境内的资源。

2024-03-29 15:11:59 44

原创 类中成员变量static关键词作用

/因为用了static关键字修饰,静态成员变量age数据共享,在2的基础上+1变成了3。//静态成员变量age变成了2。

2024-03-21 14:10:38 422 1

原创 鉴于自己健忘的臭毛病,记录一下java中List集合中removeif方法的用法

3.listB.removeif(true或false),removeif方法判断括号中返回值,如果是true则在listB中删除当前元素r,false则不删除。2.listA.contains(r),判断listA是否存在r这个元素,返回true或false。注意:removeif()方法,括号中的变量返回值必须是。首先removeif是筛选删除掉集合中的指定元素,例如。解析:1.r是遍历listB的当前元素。

2024-03-07 16:20:27 2099 1

空空如也

空空如也

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

TA关注的人

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