
Java
文章平均质量分 57
分享平时使用过的java技术
Json____
万物OOP | www.wwwoop.com
展开
-
Android Studio最后一个绑定JDK8的版本,但是官方下载是最新的,怎么下载Android Studio历史版本包,这篇文章帮你解决。
下载地址:https://developer.android.google.cn/studio/archive。最近需要安装Android Studio 编辑器 发现官网最新的编辑器已经不支持 jdk8了。Android Studio最后一个绑定JDK8的版本:4.1.3。这是因为你用的中文语言,把他改成英文即可。然后确定, 往下拉 或者直接搜索版本号。如果你打开是这样的 下载页。原创 2025-03-18 16:15:27 · 298 阅读 · 0 评论 -
springboot 配置文件中 multipart.max-file-size 各个版本的写法
由于springboot具有几个版本,不同版本对于文件上传最大限制的配置也有所不同。所以要注意springboot本身的版本,不然会一直报错。原创 2024-11-19 15:31:04 · 423 阅读 · 0 评论 -
springboot框架使用mybatis-plus3.5.1以上版本的代码生成器工具类
内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用。:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求。MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。也是根据 代码模板生成的。原创 2024-11-01 22:30:59 · 676 阅读 · 0 评论 -
springboot框架使用mybatis-plus3.5.1以下版本的代码生成器工具类
我们在使用springboot 框架 和mybatis-plus 开发web项目的时候,像 控制器 这类的文件 有了这个基于mybatis-plus 的 代码生成器 我们就不必自己创建了 ,直接执行后 自动帮我们生成好控制器、服务处、实现层 等等 非常的方便。实际代码生成工具类的实现方式 就是根据 预先写好的 代码模板,然后 生成出来我们想要的代码。废话不多说,还是直接分享代码生成器的工具类~像这种 就是代码的模板。原创 2024-11-01 21:58:50 · 366 阅读 · 0 评论 -
springboot框架使用RabbitMQ举例代码
以前分享过一个理论有兴趣的小伙伴可以看下。第一步:引入依赖 可以不指定版本。不多说 还是直接上代码。原创 2024-11-01 09:55:26 · 612 阅读 · 0 评论 -
spring boot集成文件上传插件(x-file-storage),支持本地、FTP、SFTP、 OSS、COS、MinIO、 Amazon S3等文件存储方式解决方案(包含大文件上传)【最终版】
以前针对 spring boot集成文件上传插件(x-file-storage),同时支持本地、FTP、SFTP、阿里云 OSS、腾讯云 COS、MinIO、 Amazon S3等各种文件存储方式包括 大文件上传 写过两篇文章 :参考地址:spring boot实现大文件上传【分片上传】插件(x-file-storage),同时支持本地、FTP、SFTP、阿里云 OSS、腾讯云 COS、MinIO、 Amazon S3等。https://blog.youkuaiyun.com/Drug_/article/de原创 2024-10-31 15:46:08 · 939 阅读 · 0 评论 -
SpringBoot对接物联网设备的设计思路和SpringBoot框架中实现MQTT多个主题订阅和发布
测试 比如 页面上有2个断路器设备 一个是A厂商 一个是B厂商 点击页面按钮 开关 后 触发后端一个接口 我们就可以在这个接口里 根据供应商类型不同 来调用不同的实现类。在各自供应商的实现类里 具体实现 如果都用的MQTT 那就都走MQTT 参数不同,如果一个是MQTT 一个是http:api的形式 那直接在不同的实现类里分别实现即可。比如 空调设备 虽然空调设备 的供应商不一样,但是空调设备 提供的功能 一般都是一样的 只有个别的有区别 :开关,调节风速、模式 基本的设备功能。原创 2024-08-06 18:07:55 · 925 阅读 · 0 评论 -
XaaS形式的概念,从IaaS、PaaS、SaaS到容器云引领的CaaS,Serverless和FaaS 概念
XaaS IaaS、PaaS、SaaS CaaS,Serverless 和FaaS 和lambda前言云计算时代出现了大量XaaS形式的概念,从IaaS、PaaS、SaaS到容器云引领的CaaS,再到火热的微服务架构,以及现在越来越多被谈起的Serverless和FaaS,我们正在经历?一个技术飞速变革的时代。一、什么是Faas云计算时代出现了大量XaaS形式的概念,从IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、Saa转载 2022-05-09 08:10:42 · 1199 阅读 · 0 评论 -
git 常用命令
0、git pull origin master 拉远程项目1、git add . 添加提交信息2、git commit -m "备注" --no-verify 准备提交3、git push origin 分支名 提交成功 ...原创 2019-08-26 10:11:06 · 402 阅读 · 0 评论 -
SpringBoot 和SpringCloud 数据同步 canal 工具
// 数据同步 工具 canal 工具 目前只支持 mysql// 应用 场景// 两个库的数据表 进行同步 一个库里的表 发生变化 另一个库里的表 也会发生变化// 准备工作// 创建 两个库 创建两个 名称和表结构 一样的 表// 安装 canal 数据同步工具// 修改 需要同步的 mysql 数据库的配置 binlog功能是否开启// show variables link 'log_bin'; //查询 是否开启 binlog// 如果没有开启 需要开启 mysql.原创 2022-01-03 20:29:15 · 531 阅读 · 0 评论 -
Lambda 详解
简介:Lambda 来源于微积分数学中的 λ,其涵义是声明为了表达一个函数具体需要什么. Table of contents Introduction 使用 Introduction 什么是Lambda? 我们知道,对于一个Java变量,我们可以赋给其一个“值”。Lambda来源于微积分数学中的 λ,其涵义是声明为了表达一个函数具体需要什么.Table of contentsIntroduction 使用Introduction什么是Lambda?我们知道,对于一个Ja.转载 2022-05-09 08:15:59 · 524 阅读 · 1 评论 -
springboot框架使用Netty依赖中解码器的作用及实现详解
假设我设置的数据长度是20,代表了整个消息体的长度,但是我数据却只有12个字节,这往后读20个字节无疑是错的,所以我们需要修正,怎么修正?3.分两次读取消息,第一次是hello ,第二次是world!就比如 消息头规定 4个字节 数据长度 4个字节 所以我们如果只要 消息体里的内容 就需要跳过 8个字节 所以设置8 即可。是典型的拆包和沾包问题,俗话说就是两端通信,一端发送一端接收,接收的那一端怎么知道是否已经完整的接收了数据?因为长度既可以代表data的长度,也可以是整个消息的长度。原创 2024-06-27 15:52:24 · 932 阅读 · 0 评论 -
SpringBoot中使用MQTT实现消息的订阅和发布
/BreakerOperationTopicEnum.REPORTING_API.getTopic() 我 定义的topic 枚举类 常量。//订阅 我做的是启动的时候 初始化订阅 所以 直接根据定义的 topic 常量进行初始化订阅。背景 java框架SpringBoot通过mQTT通信 控制物联网设备。SpringBoot中使用MQTT实现消息的订阅和发布。又整理了一个更完整的 文章。// 这里就不分享了。原创 2024-06-20 09:29:33 · 739 阅读 · 0 评论 -
springboot中基于RestTemplate 类 实现调用第三方API接口,获取响应体内容不需要转换数据类型【丰富版】
又比如 用 fastjson里的 JSONObject 对象接 接后 我们要么 get(“aaa”) 去取数据。RestTemplate 用法 和 http工具类 这篇就不说了 可以去看下面的博客。所以有没有 一种方案 指定响应体里的 数据类型 取到 直接是我们想要的。这样就不用 获取到 第三方的 json数据 来回转换了 直接用。接到后 再 用 fastjson转换成我们想要的 java对象。这样 返回值 就直接是我们想要的对象 不用来回转换了。本篇文章是 针对 下面的博客 进行的扩展。原创 2024-06-05 10:52:40 · 563 阅读 · 0 评论 -
springboot开发项目 SLF4J+Logback日志框架解决mybatis-plus 将sql语句 输出到日志文件
有的时候 需要线上的sql语句需要记录在 文件中 这个时候 就需要 这个MyBatisPlus日志如何打印到.log文件中mybatis-plus 版本 :3.3.2还是直接上代码先看官方的说法第一步org.apache.ibatis.logging.stdout.StdOutImpl 这个只会输出到控制台 所以 把这个去掉换成 这个 org.apache.ibatis.logging.slf4j.Slf4jImplmybatis 默认 支持 slf4j 日志但是这样配置后 idea控原创 2024-05-31 14:40:42 · 2653 阅读 · 0 评论 -
利用java写的java.util.concurrent.Delayed 类 配合线程实现延迟队列处理方案
【代码】利用java写的java.util.concurrent.Delayed 类 配合线程实现延迟队列处理方案。原创 2024-05-24 10:34:37 · 184 阅读 · 0 评论 -
springboot开发项目,日志管理, SLF4J+Logback日志框架实现报错日志上报到飞书或钉钉的解决方案
日志记录到 文件里 参考这篇博客https://blog.youkuaiyun.com/Drug_/article/details/137913293这里直接分享日志上报 钉钉和飞书的解决方案还是直接上代码logback-spring.xml 文件 修改xml中核心的 代码 我单独显示第一部分 重点是 :name=“SendErrorMsgAppender” class=“com.xxx.init.exception.SendErrorMsgAppender”让 日志 触发我们自定义的 SendErrorM原创 2024-05-23 11:45:04 · 673 阅读 · 0 评论 -
spring boot框架(java)和 hyperf框架(php)多语言开发微服务,nacos作为服务发现,实现php服务与java服务跨服务调用,实现方案【feign和jsonRpc配合使用】
php 在请求的时候 会拼接 服务名 “method”:“服务名前部分/findById” 他会根据nacos上的 Service 取前部分 好像去不掉。项目微服务架构,采用php和java 混合开发 避免不了 服务与服务调用,经过php和java的框架的研究,终于两边调用成功了。但是 如果php调用java 必须是数组 “params”:[{“id”:“1”}] 外层必须包一个 []php那边需要采用 jsonRpc方式调用 所以 java这边要起一个jsonRpc的端口来共 php调用。原创 2024-05-14 22:08:54 · 1402 阅读 · 4 评论 -
spring boot使用redis 存储数据时 字段为时间类型为LocalDateTime 发现存储到redis变成了对象
在存 取 redis 数据的时候 用 fastjson 来处理 这样存进去的 LocalDateTime 类型 就是字符串了 就不是对象了。JSONObject.toJSONString 和 JSONObject.parseObject。我根据博客 配置了 redisConfig 但是没解决问题。我觉得是可以用的 有可能是我项目中 哪里 影响到了配置。我就直接放弃了 使用 Jackson 这个类来序列化。所以最终根据网上的 方案我没成功。原创 2024-05-06 14:24:53 · 628 阅读 · 1 评论 -
spring boot实现大文件上传【分片上传】插件(x-file-storage),同时支持本地、FTP、SFTP、阿里云 OSS、腾讯云 COS、MinIO、 Amazon S3等
个人建议 还是分开写两个接口好,如果后续需要做暂停 ,取消上传 、继续上传 应该都需要FileInfo 这个对象里的数据。目前我的需求里 还没涉及到 暂停 ,取消上传 、继续上传 但是我以我看到这个依赖的源码 我觉得是后续扩展这些功能。插件(x-file-storage) 具体这个插件怎么使用 简单的文件上传 看下面的这篇博客 有详细说明。先判断redis 存在不 不存在就初始化 存在 就直接分片上传,上传完成后,再把redis里的数据删除!先给大家 看一下插件源码里 提供的分片上传的 demo。原创 2024-04-30 00:31:32 · 2919 阅读 · 0 评论 -
java 和 php 的AES 128位 256位 加解密 【java解密php的AES加密方案】
如果疑问 php openssl_encrypt() 为什么加密后会直接base64 可以了解一下 openssl_encrypt 下面3个常量。所以java这边需要不需要 base64 两边取决于 php 用没用 下面三个常量。项目需要 需要java可以解密 php加密的 字符串 ,使用的方法是 AES128位加解密。坑一踩完 ,还是直接上代码。原创 2024-04-24 10:34:23 · 892 阅读 · 1 评论 -
springboot 集成 i18n实现国际化信息返回 实现中英文切换 实现网站支持多语言切换
它提供了一种统一的方式来获取文本信息,使得应用程序能够根据不同的语言和区域设置展示对应的文本内容。具体来说,MessageSource 接口定义了一组方法,可以根据指定的消息代码(message code)和可选的参数获取相应的本地化文本消息。在 Spring 应用中,通常会将不同语言版本的文本消息存储在不同的 properties 文件中,然后通过 MessageSource 接口来动态加载并根据当前用户的语言环境提供相应的文本信息,从而实现国际化功能。第二步创建 枚举类 定义 项目使用了哪些语言。原创 2024-04-20 15:52:20 · 1187 阅读 · 3 评论 -
spring boot集成文件上传插件(x-file-storage),同时支持本地、FTP、SFTP、阿里云 OSS、腾讯云 COS、MinIO、 Amazon S3等各种文件存储方式解决方案
在开发管理系统 ,因为系统要求 要同时支持 本地、FTP、SFTP、阿里云 OSS、腾讯云 COS、MinIO、 Amazon S3 这几种文件存储的上传方式 ,如果一一开发 肯定开发到花都谢了。经过搜索 发现了一个好用的插件x-file-storage官方地址:https://x-file-storage.xuyanwu.cn/#/废话不多说 还是直接看代码spring 版本 啥的 就不说了因为我们的文件上传的 基础参数配置是在 nacos 和数据库里 所以 采用的是动态 切换 存储方式没有把原创 2024-04-15 21:00:48 · 4675 阅读 · 12 评论 -
spring boot 集成 flyway依赖 做数据库迁移,让部署没烦恼
你可以定义实体类,并通过Liquibase Maven插件或命令行工具生成相应的数据库迁移脚本。对于旧版本的库,我们可能需要在resources/db/migration/ 中创建一个名为.keep的空文本文件,以确保该目录在应用程序启动期间被编译并可用,以避免错误。git 上两个分支 A分支 7月3号创建了 表 B分支 7月4号 创建了表 但是B分支先合并到主分支上线 过两天A分支合并到主分支后上线 这时候 A分支上线的时候。主要用于在你的应用版本不断升级的同时,升级你的数据库结构和里面的数据。原创 2024-04-10 16:09:53 · 776 阅读 · 0 评论 -
springBoot 在过滤器中如何捕获抛出的异常并自定义返回信息 (Filter doFilter)解决方案
在使用 servlet 过滤器时 发现异常报错 不准确,定义的 全局异常处理 好像失效了,过滤器里报错每次都会返回 状态码 :500 错误信息为 “Internal Server Error” 真正的异常只能输出的控制台,抛出不到前端。一般springBoot自带的全局异常捕获机制都是在业务层发生的异常来进行捕获的,因为过滤器的执行顺序是在全局异常机制启动之前执行的,所以一旦过滤器中发生异常,全局异常捕获机制无法使用。R.fail() r 就是返回前端的结构体!原创 2024-04-09 11:19:33 · 1111 阅读 · 0 评论 -
Springboot 在使用RabbitMQ 传送数据 发现 字符串 传递 没问题,但是 传送对象接收不到数据解决方案
springboot集成RabbitMQ后能通过RabbitTemplate很方便的传送对象。如果发送方和接收方在同一项目中,且发送使用的对象为同一个包导入,那么发送和接受都没有问题。解决方案:手动将对象转为json字符串。导入依赖(发送方和接收方都需要导入)原创 2024-04-07 16:57:08 · 428 阅读 · 0 评论 -
springboot在使用 Servlet API中提供的javax.servlet.Filter 过滤器 对请求参数 和 响应参数 进行获取并记录日志方案
【代码】springboot在使用 Servlet API中提供的javax.servlet.Filter 过滤器 对请求参数 和 响应参数 进行获取并记录日志方案。原创 2024-04-07 13:58:31 · 832 阅读 · 0 评论 -
Docker部署Xxl-Job分布式任务调度中心(超详细)
XXL-Job是一个开源的分布式任务调度中心,它提供了一个可视化的任务管理界面,可以方便地创建、编辑和监控任务。XXL-Job支持多种任务类型,包括简单的Java任务、Shell任务、Cron任务等。–xxl.job.accessToken=pingzhuyan.test 这行配置指定accessToken,当你在程序中引入xxl-job时,需要用到accessToken。doc/db/tables_xxl_job.sql · 许雪里/xxl-job - 码云 - 开源中国 (gitee.com)转载 2024-03-31 11:38:01 · 628 阅读 · 0 评论 -
springboot中基于RestTemplate 类 实现调用第三方API接口【POST版本】
下面是 丰富版地址 有兴趣 可以去看下。原创 2024-03-30 10:07:07 · 552 阅读 · 0 评论 -
Java 扫描某包下所有类的注解并获得注解值
这个依赖是用于 Java 项目中的反射操作的。org.reflections 是一个 Java 库,允许你在运行时查找和使用类、方法、字段等。它提供了一种简单的方式来扫描你的项目或者外部库中的类和注解,从而帮助你进行一些动态的操作,比如查找特定的类、方法或者注解,或者执行特定的操作。百度了一圈 spring boot 没有自带的 获取注解集合的方法。背景 : 需求 需要获取某个包下的所有的注解 并不是全部项目的。突然发现了一个很好用的依赖包 解决了 我的问题。我的需求 做法 代码如下。原创 2024-03-29 15:08:05 · 1017 阅读 · 0 评论 -
nacos的各种类型的配置文件 yml 、json、 Properties、 text 等文件类型 发生变化怎么热更新,实现实时监听nacos配置文件变化
但是 dataId的命名不一样 我理解为 aaa 这种 等于你创建了一个没有后缀的配置文件。本文用的是 Nacos作为配置中心注册监听器方法 实现热更新 nacos 配置文件。因为项目用的是 Json 类型的配置文件。虽然打开里面的配置信息都是 json格式。所以下文 主要是对json文件进行实现。dataId 这两种声明 是不一样。依赖、工具类 这边就不写了。在nacos 的配置文件中。下面开始直接上实现代码。原创 2024-03-28 18:27:02 · 1090 阅读 · 0 评论 -
Springboot 对于数据库字段加密方案(此方案是对字符串处理的方案)
背景:在erp开发中,有些用户比较敏感数据库里的数据比较敏感,系统给用户部署后,公司也不想让任何人看到数据,所以就有了数据库字段加密方案。我们的系统 表单 和表单的字段 都定义在数据库里 所以 可以自由选择 表单和字段。第四步 编写加密方案 利用的是 框加下的这个类 BaseTypeHandler。第一步 : 首先把用户勾选需要加密的 字段 缓存到redis 减少数据库查询。如果利用实体类加注解方案 肯定满足不了 因为 每个用户加密的字段不一样,这个需求 用户再页面上操作 我们是不需要改代码的。原创 2023-11-19 16:45:21 · 1110 阅读 · 0 评论 -
在Springboot集成Activiti工作流引擎-引入、调用,测试【基础讲解】
工作流 通过计算机对业务流程自动化执行管理他主要解决的是使在多个参与者之间按照某种“预定义规则”自动进行传递稳定 信息或任务的过程通俗来讲 业务上一个玩着的审批流程 比如请假,出差 外出采购等工作流引擎就是来解决流程问题的 提高我们的工作效率如果没有工作流引擎 我们就需要自己去写逻辑 就特别的复杂 扩展性还不强使用工作流引擎 业务改变,不需要修改代码如果是我们自己写的逻辑 有可能 业务改变,代码也需要改变那么为什么工作流引擎不用修改代码因为我们的工作流引擎都实现了一个规范这个规范要原创 2023-07-23 23:45:33 · 2746 阅读 · 0 评论 -
spring boot中常用的安全框架 Security框架 利用Security框架实现用户登录验证token和用户授权(接口权限控制)
org.springframework.security.crypto.password.PasswordEncoder 接口。原创 2023-07-23 20:48:56 · 5663 阅读 · 1 评论 -
springboot mybatis-plus 对接 sqlserver 数据库 批处理的问题 批量更新添加数据 方案三
子表批量保存 使用的 mybatis-plus提供的 saveOrUpdateBatch saveBatch 这两个方法。于是我就 在 mybatis-plus 依赖的基础上 封装了一个 自定义的 saveOrUpdateBatch 方法。mybatis-plus 代码生成器 mybatis-plus-generator: 3.3.2。最后我的结论 应该是 mybatis-plus在处理 sqlserver 批处理的时候。mssql-jdbc 和 mybatis-plus 都调整的了版本 还是不行。原创 2023-04-19 16:34:02 · 3167 阅读 · 6 评论 -
springboot mybatis-plus 调用 sqlserver 的 存储过程 返回值问题
此处使用Map传参,原因在于存储过程的返回值,通常在参数定义中实现,如In 入参、out 出参。3、 存储过程的output参数,只能通过传入的map获取参数,使用map.XXX;第二种因为传一个参数是可以省略@Param(“”)的,但是这种情况下不能使用${},4、存储过程对应的数据类型为枚举类型,需要使用大写,如VARCHAR。2、有两种方式带参:“$””#”原创 2023-03-27 17:57:58 · 2133 阅读 · 0 评论 -
springboot mybatis-plus 对接 sqlserver 数据库 批处理的问题
useGeneratedKeys=“true” 这个key 注意一下 网上有说 这个key 也会导致这个问题的出现。子表批量保存 使用的 mybatis-plus提供的saveOrUpdateBatch 这个方法。mybatis-plus 代码生成器 mybatis-plus-generator: 3.3.2。最后我的结论 应该是 mybatis-plus在处理 sqlserver 批处理的时候。mssql-jdbc 和 mybatis-plus 都调整的了版本 还是不行。如果 这两种 都不爽。原创 2023-03-04 17:10:13 · 1716 阅读 · 0 评论 -
Spring boot + mybatis-plus 遇到 数据库字段 创建不规范 大驼峰 下划线 导致前端传参数 后端收不到参数 解决方案
最近使用springboot 连接了一个 sqlserver 数据库由于数据库年数久远 ,建表字段不规范 大驼峰 下划线的字段名都有但是 java 中 Spring boot + mybatis-plus 又严格按照小驼峰 格式 生成实体类如果不是小驼峰格式@Data 注解get set 方法使用这个类 来接取前端的参数 发现 获取不到 实体类的值而且 这个实体类打印出来 请求参数就没接收到如果手动一个一个的来修改字段成 小驼峰 就很烦经过摸索 找到了 偷懒的方案。原创 2023-03-02 18:09:36 · 4062 阅读 · 0 评论 -
springboot mybatis-plus 对接 sqlserver 数据库时间类型datetime date 转换实体类 LocalDateTime 报错 解决方案
mybatis-plus 代码生成器 mybatis-plus-generator: 3.3.2。所以我使用了 更改SQL Server JDBC 驱动 依赖。下面再分享一下 我查询到的 mysql 的解决方案。sqljdbc和sqljdbc4 应该是有区别的。如果遇到 mysql 的这要问题 可以做个参考。在对接sqlserver 什么都配置好了。SQL Server JDBC驱动中。研究了 几个小时 找到了解决方案。我按照mysql 数据的解决方案。大家想了解 百度就好。原创 2023-03-02 16:11:10 · 2839 阅读 · 1 评论 -
springboot 使用restTemplate 发送https请求 忽略ssl证书
创建 RestTemplate 时需要一个 ClientHttpRequestFactory,通过这个请求工厂,我们可以统一设置请求的超时时间,设置代理以及一些其他细节。在项目中,当我们需要远程调用一个 HTTP 接口时,我们经常会用到 RestTemplate 这个类。exchange:接收一个 RequestEntity 参数,可以自己设置 HTTP method,URL,headers 和 body,返回 ResponseEntity;,大家需要的时候可以自己查看代码设置。第三步:封装调用方法。原创 2023-02-23 22:33:53 · 2484 阅读 · 0 评论