Java
mybatis springboot多数据源,根据使用的数据库不同,执行不同的sql语句
springboot 多数据源配置就不说了,百度太多的用例, 这里只说下在多数据源下切换执行sql逻辑 1.xml sql嵌套,通过<if>标签来判断,用的是mybatis自己sql动态拼接的逻辑(不推荐,数据源多或者sql大的时候不方便) 2. mybatis 插件接口拦截sql进行替换,该方法不仅可以实现数据源执行sql的切换,还可以实现其他场景,而却sql片段也是
Airtest遇到模拟器无法输入中文的情况该如何处理?
此文章来源于项目官方公众号:“AirtestProject” 版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途 1. 前言 最近有收到同学们的一些提问,使用Airtest的 text 接口,发现在部分模拟器上, text 无法输入中文,不知道该怎么处理。 今天我们就输入这个小问题,来详细聊一下。 2. Airtest的输入法简介 对于Android设备来说,Airtest的输
Vue3内置组件suspense用法
1、作用 在使用异步组件时,由于需要等待组件加载完成后才能显示,因此可能会出现页面空白或显示错误信息的情况。而 Suspense组件的作用就是在异步组件加载完成前显示一个占位符,提高用户体验。 2、用法 首先子组件AsyncShow:使用了promise包裹代码 子组件DogShow代码:使用了async await 以上promise 和 async都可以达到效果 父组件引入,sus
【Java复杂系统实战经验-2023-08月】Java基础,Path路径计算编码
Java程序设计-个人月报-2023-08月 背景 在本月,给负责的项目做了一次文件存储的迁移工作。 历史原因,开发阶段由于图简便,使用了本地文件存储。 后面经过容器化上云,导致应用出现上传文件分发的多节点的问题。 本项工作的经验,受益于Java基础Path的一些API,颇有收获。 复杂的系统应当构建于通用的,稳定的,有共识的,成熟API之上。 ----沃兹基索德 路径计算 代码中,不要使用路
开源低代码平台 系列之一:NocoBase
开源低代码平台 系列之一:NocoBase 一、NocoBase 是什么? NocoBase 是一个极易扩展的开源无代码开发平台。 无需编程,使用 NocoBase 搭建自己的协作平台、管理系统,只需要数小时时间。 1、官网地址 https://cn.nocobase.com/ 2、文档地址 https://docs-cn.nocobase.com/
打印mq异常消息记录
mq的异常日志,发现在线上有大量的异常信息,但是钉钉告警里面却没有搜到,自己已经重写了logback的TurboFilter方法,仍然无法打印。最后发现原来是自己给过滤了。代码如下: 本地调试时候发现,在mq异常时候 其throwable是空的
操作excel开源产品
1、java poi 2、excel4j 3、EasyExcel: https://github.com/alibaba/easyexcel https://www.yuque.com/easyexcel/doc/easyexcel 对比 https://mp.weixin.qq.com/s/TE22AqDnP88FqrCv_fYCZQ
2023年8月24日
1.一个简单的手机号注册JS表单校验的案例 为了突出这部分的代码,就不给出样式、图片代码了 2.登录可以切换登录方式的案例 3.来到首页后,可以显示登录的用户名,点击退出后清除本地存储的案例 4.一些综合需求设计的参考代码 5.函数参数个数不固定的时候应该怎么处理? 6.数组结构,用于数据元素快速赋值,必须在结构前面添加分号 7.对象解构是将对象属性和方法快速批量赋值给一系列变量的简
超时处理@Timeout注解
可以结合注解@BeforeEach与@AfterEach 时间单位配置表 时间配置内容 42毫秒 @Timeout(value = 42, unit = MILLISECONDS) 42秒 @Timeout(value = 42, unit = SECONDS) 42分 @Timeout(value = 42, unit = MINUTES) 4
SpringSecurity基本使用流程
本文介绍SpringBoot项目如何整合SpringSecurity,记录使用SpringSecurity完成项目的登录、退出、以及权限管理的相关流程。 1、导包:导入Security,前后端交互用户凭证用的是JWT,需要导入jwt,另外登录需要用到验证码,验证码的存储需要用到redis; 2、上一步安装好security后,启动项目会自动生成一个登录密码(可以在yml文件中配置账户/密码);客
问题排查:nginx的反向代理感觉失效了一样
背景 最近,负责基础设施的同事,要对一批测试环境机器进行回收,回收就涉及到应用迁移,问题是整个过程一团乱。比如服务器A上一堆应用要调用服务器B上一堆服务,结果服务器B被回收了,然后服务器A上一堆应用报错。 今天就是负责查一个问题,app上一个头像上传的接口,之前都好好的,不知道怎么就不能访问了,报错现象是在请求后等待n秒超时,然后服务端报错502。 这个服务也不知道谁维护的,可能维护的人早已离职了
利用systemd设置springboot微服务服务在linux重启后自启动
要使 Spring Boot 服务的 JAR 包在 Linux 重启后自启动,您可以使用 systemd。以下是步骤: 1. 创建一个 systemd 服务单元文件 在 /etc/systemd/system/ 目录下,创建一个新的服务单元文件,例如 my-springboot-app.service。使用 sudo 打开一个文本编辑器来创建和编辑文件: sudo nano /etc/syste
【剑指Offer】46、圆圈中最后剩下的数
【剑指Offer】46、圆圈中最后剩下的数 题目描述: 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始
Tomcat与JavaWeb开发
安装Tomcat&JDK 第一步:安装JDK 第二步:部署Tomcat Tomcat目录介绍 webapps目录介绍 Tomcat配置文件 Tomcat启停管理 启动tomcat访问 检查日志 管理页面入口:默认无法访问,需要在conf/tomcat-user.xml添加标签,$CATALINA_HOME/webap
【剑指Offer】63、数据流中的中位数
【剑指Offer】63、数据流中的中位数 题目描述: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 解题思路: 首先要正确理解此题的含义,数据是从一个数据流中读出
powerbuilder调用网页
PowerBuilder与嵌入浏览器交互 设置为可以编辑: //ole_1.object.document.GetElementById("user").contentEditable = true boolean bEdit bEdit = ole_1.object.document.body.contentEditable ole_1.object.document.body.
【剑指Offer】64、滑动窗口的最大值
【剑指Offer】64、滑动窗口的最大值 题目描述: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,
Markdown的语法
Java学习的第一天 一、博客的重要性 博客的学习可以很好的记录自己学习的过程,还可以作为复习使用,笔记记录等。 二、学习博客系统markdown的使用 标题: #+空格,一级标题 ##+空格,二级标题 依此类推,一共6级 字体: Hello,World! Hello,World! Hello,World! Hello,World! 引用: 大淼说Java,走向人生巅峰 分割线:
module.exports和exports,应该用哪个
在 Node.js 编程中,模块是独立的功能单元,可以在项目间共享和重用。作为开发人员,模块让我们的生活更轻松,因为我们可以使用模块来增强应用程序的功能,而无需亲自编写。它们还允许我们组织和解耦代码,从而使应用程序更易于理解、调试和维护。 在这篇文章中,我将介绍如何在 Node.js 中使用模块,重点是如何导出和消费它们。 各种模块格式 由于 JavaScript 最初没有模块的概念,因此随着
什么是 SAP UI5 的命名空间
在 SAP UI5 开发中,命名空间(namespace)是一个重要的概念,它用于组织和管理 UI5 应用的资源、模块和库。命名空间提供了一种结构化的方式来命名和引用 UI5 应用的各个部分,以避免命名冲突并使开发更具可维护性。在本文中,我将详细解释什么是 SAP UI5 的命名空间,为什么它重要,并通过实例进行说明。 命名空间的概念 命名空间是一种在编程中用于区分不同模块、类、函数等标识符的机制
CentOS7.9搭建开发环境(Java、MySQL、Nginx、Redis)
系统使用的阿里云CentOS 7.9 64位 SCC版。 先安装个文件上传下载工具lrzsz,xshell登录终端,运行下面的命令: 这是因为yum源的问题,需要修改yum配置。 执行以下命令: 完成后继续使用yum安装lrzsz 可以看到安装成功。 进入正题 JDK安装 1、下载jdk安装包,Linux版本的,jdk1.8,如果
什么是云计算领域的 hosting service
在当今数字化时代,云计算技术已成为企业信息技术基础设施的重要组成部分,而"hosting service"作为云计算领域中的重要概念,为企业提供了一种灵活、高效的IT资源托管和管理方式。本文将详细探讨什么是云计算领域的"hosting service",以及通过实际例子加深理解。 什么是"hosting service"? "hosting service",中文翻译为"托管服务",是指将企业的应
什么是面向对象编程领域的胖接口 - Fat Interface
在面向对象编程(Object-Oriented Programming,简称 OOP)领域,"胖接口",也称为"Fat Interface",是一个被广泛认识并且应当避免的设计反模式。这个术语指的是一个接口(或抽象类)包含了大量的方法,可能超出了单一职责的原则,导致接口变得臃肿、复杂和难以维护。在本文中,我将详细解释什么是胖接口,为什么它是一个问题,并通过实例来加深理解。 胖接口的定义和问题: "
Java流程控制if选择结构
if选择结构 单选择结构:编程中很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程用if语句来表示,语法: 例: if双选择结构:就是双条件选择,如果...那么,否则...那么,语法: 例: if多选择结构:在生活中往往是多项选择,这时单双选就无法满足需求,需要多选择机构,语法: 例: 嵌套的if结构:使用if...else语句嵌套是合法的,也就是说可以
大学生创新训练项目开发日志 (8-14 ~ 8-24)
技术路线 利用 Xposed 模块在应用加载 app 包时将获取到的软件资源打上包名标记后上传到内网服务器。 实现流程 初次尝试 实现 IXposedHookLoadPackage 的 handleLoadPackage 方法。 结果:失败。部分软件包没有 android.permission.INTERNET 权限,需要提权。 试错历程 查看 platform.xml,试图为所有应用添加 i
Linux学习疑惑总结
重定向问题 Linux shell 中 2>&1 的含义 首先了解下1和2在Linux中代表什么,先整理一份在Linux系统中0 1 2是一个文件描述符: 名称 代码 操作符 Java中表示 Linux 下文件描述符(Debian 为例) 标准输入(stdin) 0 < 或 << System.in /dev/stdin -> /proc/sel
SocketIO如何工作
什么是socketIO? 飞飞 PingCode产品市场经理 2 人赞同了该文章 SocketIO是在客户端和服务端之间建立的双向通信数据交换技术,底层使用EngineIO。SocketIO的的客户端使用Engine.IO-Client,服务端使用http://Engine.IO实现。 SocketIO如何工作 当一个浏览器尝试建立S
基于静态编译构建微服务应用
作者:饶子昊(铖朴) Java 的局限性 传统的一个 Java 应用从代码编写到启动运行大致可以分为如下步骤: 首先,编写 .java 源代码程序。 然后,借助 javac 工具将 .java 文件翻译为 .class 的字节码,字节码是 Java 中非常重要的内容之一,正是因为它的出现,Java 才实现对底层环境的屏蔽,达到 Write once, run anywhere 的效果! 基于步骤