自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

abcnull 的博客

一线头部大厂程序员,挤点时间总结一些经验和知识点

  • 博客(523)
  • 资源 (7)
  • 收藏
  • 关注

原创 tomcat 目录结构组成

现在非常多的 java web 服务部署在 linux 服务器中,我们服务器中的 tomcat 会有各种文件路径,看下它有哪些文件。

2025-04-02 16:52:33 415

原创 java maven依赖传递以及版本冲突

依赖中 exclusions 掉某个子依赖,目的是防止内部依赖往外部传递,比如 A -> B,B 项目中有 C 依赖,如果 A 没有直接的 C 依赖,那么 A 使用的是 B 中的 C 依赖的版本,当 B exclusion 掉了 C,则表示这个 C 依赖无法传递到 A。首先得明确,并不是 A 自己的代码逻辑使用 4.0 的 C,然后 A 项目中运行到 B 中的代码时候就按照 1.0 的 C 去跑,并不是这样的,统一在 runing 的 A 项目统一使用一个版本的 C 的依赖在 run。

2025-03-14 19:22:22 388

原创 服务调用时,多种超时时间的差别

我们在进行服务调用时候,可能会看到非常多的超时时间的配置,那这些不同的超时时间的配置有啥区别呢?一般较成熟的企业,当作服务调用时候,会有比较成熟的各种超时时间的默认配置,和配置介绍说明。

2025-02-25 13:42:39 237

原创 调用下游时候发现超时一般怎么排查

如果在调用方的超时错误日志中强制记录下游服务唯一标识(如服务名/IP+端口),这样上游也能很快判定出下游哪个服务有问题(好的方式)排查 sql 慢查询(mysql 的 slow_query_log),企业工程侧一般会有一些 mysql 平台能看到这些慢查询记录。一般工程侧,各公司会有一些 trace 追踪平台或者工具,能够查出来调用链的情况,然后下游服务的调用时间也会有展示出来。长期可以针对性的优化,比如数据库问题优化数据库,多线程问题优化多线程代码。有些企业平台侧能看到上有调用超时的记录情况图表。

2025-02-21 18:01:48 347

原创 后端开发-分页游标设计(解决大数据量分页查询时的性能问题)

一般来说 order by 的不是索引字段,或者这个字段不能添加索引,那么不建议分页游标来做,如果非要用分页游标,也需要你贴紧一个有唯一索引的字段来做,但即使是这样,首页查询也会全表扫描,后续页查询时因为会先执行 where 中的语句能缩减一点点范围。如果使用一页一页的查找数据,按照每页 10 条查找,你查找第一页,因为 id 是主键索引你能快速查找到,然后后端多返回查找到的最后一条数据的这个索引字段 id(要求这个索引需要唯一)如果你遇到的是上方描述的场景,那么分页游标就是你很好的选择!

2025-02-20 18:27:26 1147

原创 springboot+mybatis按条件分页查询多张表

使用 join 进行多表连接查询,使用 pagehelper 分页插件,通过 MyBatis 的。和 JOIN 语句实现多表关联,使用 MyBatis 动态 SQL 标签(如 )处理条件组合。我希望做分页查询用户数据,用户数据为各个表内信息的汇总,并且这个分页查询会根据各种条件来查询。创建一个 mapper 接口 selectUserWithConditions。特殊情况下:如果多张表数据量很大,线上查询流量又大,怎么办?创建 dto 做查询数据接收的对象。那么通常该如何做呢?

2025-02-17 20:34:18 445

原创 springboot+mybatis进行普通事务操作transaction

如果你是 mysql 单个数据源,一旦配置好 yml 中的 msyql 和 mybatis 之后,一般对 Service 中的方法上头加上 @Transactional 就可以直接对其开启事务了(通常情况),使用上 @Transactional 表示该方法中如果抛出未捕获的异常时就会触发回滚,这样的异常是 RuntimeException 以及子类或者 error 错误时能回滚,如果是 IOException SQLException 等异常不会回滚。

2025-02-12 17:49:13 891

原创 springboot配置mybatis/mybatis plus

使用 mybatis 首先需要写 entity 数据库操作对象// fields如果你使用 mybatis plus,还会有好用的注解来提供 @TableName,@TableField(“name”) 等使用 mybatis 首先需要写 mapper 接口,接口中的方法名和下方待编写的 xml 中的方法名是一样的@Mapper// 自己要写的 function如果你使用 mybatis plus,它提供了一个 BaseMapper 可以继承,继承后其中有许多定义好的基本的数据库操作方法可以使用。

2025-02-11 20:21:21 1160

原创 springboot配置redis

配置完成 yml 后,你无需再配置 RedisTemplate 和 StringRedisTemplate 的 Configuration 代码了,因为 Spring Boot 会自动配置 RedisTemplate 和 StringRedisTemplate,你可以直接注入它们来操作 Redis@Bean// 使用StringRedisSerializer来序列化和反序列化redis的key值。

2025-02-07 21:14:11 321

原创 springboot配置mysql连接/配置mysql数据源连接池

如果你配置单个 mysql 数据源,你完全做 mysql 数据源的 configuration,无需指定数据源和 mapper 包的映射关系,即你只用配置 yml,然后对应接口打上 @mapper 注解,就可以使用 mybatis 提供的 api 来进行数据库的操作,操作数据库 @mapper 标记的接口会自动使用 yml 中配置的唯一的数据源。你使用 springboot 框架,希望配置 mysql 数据源,你可能使用 mybatis 或者 mybatis plus 框架。

2025-02-07 20:38:01 1287

原创 springboot启动后初始化执行一批代码

还有一个也比较常用 ApplicationRunner,用起来和 CommandLineRunner 类似。其实 springboot 提供了很多接口来实现这一点,这里用 CommandLineRunner 方式。并且你甚至可以定义多个 CommandLineRunner 实现类,可以通过。应用启动后会立即执行,并且可以访问命令行参数(args)注解或实现 Ordered 接口来影响执行顺序。如果想各种顺序想写在一个类中,你甚至可以这么写。希望在应用启动后执行一些代码逻辑。

2025-02-06 17:30:52 259

原创 springboot+mybatis(mybatis plus)分页查询

如果你使用 springboot + mybatis plus,因为 mybatis plus 兼容 mybatis,所以即使你使用 mybatis plus 依然可以用如上方法来做分页查询,当然 mybatis plus 既然是 plus,他自己也有分页查询的一些能力,再往下会有 demo。如果你使用 mybatis 但不是 spring 项目,那么你需要首先引入 pagehelper 相关依赖,然后配置 mybatis-config.xml 分页插件,再然后在代码中使用即可。

2025-02-06 16:54:07 1118

原创 springboot项目的单元测试

Spring 中如果 Parent 类中通过 autowire 方式注入 Child 类,然后我在 springTest 测试方法中去 new 这个 Parent,我可以使用到其中的 Child 吗?回答:不行,会导致 Child 是 null,报空指针异常,因为 new 关键字创建的实例不是由 Spring 容器管理的,所以 Spring 不会为这个实例注入任何依赖。在 test 包下编写,对于普通的业务逻辑,直接常规使用 junit 的 @Test 注解即可。这样可以让其成功注入 bean。

2025-02-06 14:48:39 395

原创 springboot配置log日志

当然如果你不指定这个路径也可以,因为 springboot 会根据项目引入的日志框架,自动加载 resources 的日志配置文件,比如 springboot 项目是有 spring-boot-starter 的(其中含有 spring-boot-starter-logging),会尝试加载 logback-spring.xml 和 logback.xml 如果二者都不存在,则使用内置的默认 Logback 配置。如下是简单的日志文件配置,使用的是 logback 日志。

2025-02-06 14:29:03 639

原创 idea上git log面板的使用

当在 idea 中你选中某个分支后,这个分支在 git log 路线图中会以一条直线来呈现。每个节点表示 commit 到了一个新的版本了。路线中,每条路线其实是一个分支。

2025-01-15 14:43:32 846

原创 java远程调试debug

自己随便弄一个 idea 的项目,其中配置 configuration,Remote JVM Debug,输入被调试服务所在的 ip 以及 port。被调试的 java 服务需要开启允许被远程调试的配置,具体就是启动脚本中,加上允许被远程调试以及相应端口。

2025-01-11 16:12:44 327

原创 css样式:flex布局

一种非常常用的布局方式,Flex 是 Flexible Box 的缩写,弹性布局指定容器 display: flex 即可,可以将其定义为一个Flex容器Flex布局一般只作用到直接的子元素上。

2024-11-16 17:38:50 1238

原创 springboot项目无法启动的常见问题

我自己一直认为 springboot + orm 框架对 web 项目做了太过度封装,导致其中一旦出现了一些问题,让开发者很难抹清头脑,很多问题是一些规则上的或者更偏向于底层的问题。但是框架工具的作用的初衷原本又是希望开发者更好的关注“代码创造”,关注要做的东西,而不是把关注点放在解决框架问题,排查底层的规范问题上头看一些问题吧。

2024-11-09 10:45:06 304

原创 更改mysql用户密码

需要下本地下载好 mysql 服务端。如果你是 5.7 或者更早版本。这时候你想要更改密码。然后可以退出重启服务。

2024-10-16 14:58:30 303

原创 java服务生产环境内存陡增排查

你的线上服务某时候开始内存陡增,这个时候你很着急,该怎么办?

2024-05-18 13:02:40 1304 1

原创 通过命令查看某个git项目中每个人的提交代码行数

在 git 项目中通过命令方式查看,比如项目名是 abc,直接在 abc 下使用命令可以查看。查看 wangxiaoming 的代码行数,增量的和移除的。可以看到新增的代码行数,以及移除掉的代码行数。

2024-01-08 10:46:35 766

原创 代码模版-实现form表单输入框和label统一对齐,vue+elementui

el-form 中每个 el-form-item 都是一个单独的小项目,默认 el-form-item 都是换行的,除非加上。通过 vue + elementUI 实现 form 表单中输入框还有 label 统一对齐。属性 right 表示右对齐,即可对齐,但是不想都弄成 1 列,可以让他们都是 1 行,属性表示前面每个 label 宽度是多少,然后设置。有的输入框长度不一致,前端谷歌调试后,通过。想设置对齐的话,先可以设置。属性,就是表示弄成一行。

2023-11-20 16:29:02 6737 1

原创 代码模版-实现重置按钮清空表单数据,vue+elementUI

就能找到这个 ref,然 ref 自己有一个 resetFields() 函数,它的执行可以清空 ref 所在的这个 el-form 中的表单数据,依据 el-form-item 的 prop 来清空,这个 prop 需要和 v-model 相匹配。具体可以看下下放代码,点击「重置」btn 触发 resetForm() 函数。重置 btn 的作用是为了清空前面 form 表单中的数据。我们使用 elementUI + vue 来做。我们在 el-form 组件中加上。页面上可能会有「搜索」按钮。

2023-11-15 18:04:10 1789

原创 maven构建拉依赖Malformed \uxxxx encoding

我在 mac 端本地拉项目下来,第一次点击 import pom 来产生第一次 build,发现能够拉依赖下来,在左侧也能看到依赖(jdk1.8 下的)但是当我第二次 import pom 时候发现左侧依赖全消失了,而且提示错误。

2023-10-19 00:14:32 856

原创 入职后快速配置mac方便快速上手业务for研测向

比如 idea plugin 中搜资源可能会很慢,一般公司可能会有代理配置,帮助你快速拉取,看公司文档,或者以仓库形式,或者有代理形式。这个上面 maven 配置讲解了它的位置在哪,然后具体配置可以找公司要 settings 可以参考这个文档。java 从什么途径下都行,有人从公司中下载 jdk 也可以,官方也可以,可以参考这个。mac 会自带有 git 不用再下载了,主要是配置一下,参考。如果有下载公司视频会议软件,可以配置视频效果,如背景这些。看公司用的什么 rpc,有的用 thrift。

2023-10-17 16:29:49 242

原创 各种ide配置gitignore的模版文件内容

jetbrains 的 ide。

2023-09-26 16:29:54 386

原创 mac网页加载缓慢甚至访问不了(charles原因)

mac 中「网络」-双击「ipv4」,新弹窗中「代理」关闭「网页代理http」和「安全网页代理https」因为 charles 异常退出,导致网页代理还是开着的。

2023-09-26 12:02:21 592

原创 maven settings.xml文件(包含了配置阿里云镜像)

注意你要是编辑这块位置需要给 iterm2 或者终端开放磁盘完全访问权限,否则创建文件会失败。如果是编辑 settings.xml 文件,那么需要 chmod 一下。「安全性设置」-「完全磁盘访问权限」

2023-09-25 18:54:48 1156

原创 代码模版-vue设置进入某个页面时该页面菜单item高亮

比如说,左侧有众多菜单栏,当点击一个菜单栏,进入一个页面,要保证左侧此页面对应的菜单栏 item 是高亮的。

2023-07-29 22:03:26 450

原创 代码模版-登录成功后跳转首页

默认已经安装了 vue-router 路由依赖已经写好了 src/router/index.js 和 src/views/login.vue 组件了。

2023-07-26 16:34:08 488

原创 代码模版-前端vue实现记住我checkbox功能

需要引入 vue-cookies,element-plus 依赖,并且确保 src/main.js 中已经 use 了 ElementPlus,这个可以看我前面的教程。这里 js 实现的效果是,如果勾选了记住我,那么下次再打开这个界面时候,能发现 form 表单中已经保存了上次用户密码(实际就是 cookies)如果没有勾选记住我,那么下次打开这个登录页面,会发现用户密码 form 表单还是空的,还需要你输入一遍。使用 element plus 样式。

2023-07-24 21:32:26 284

原创 代码模版-vue实现验证码图片刷新操作

还有比如说,想要实现登录失败时候验证码图片更换,思路也很简单,就是登录时候判定如果失败就调用下 changeCheckCode 这个函数即可。这里是图片验证码,找到图片验证码地方,设置 src,由 js 控制,设置 click 事件,由 js 函数控制。点击图片触发 changeCheckCode 函数执行。

2023-07-17 21:22:15 653

原创 代码模版-vue使用md5对pwd加密

所以在登录请求前需要额外判定 formData pwd 和 cookies 中 pwd 是否一致,不一致需要 md5(pwd),一致就直接 pwd,不需要套 md5。登录后 cookies 中直接赋 formData.pwd,因为它已经是 md5 后的了,这样再下次请求时候,从 cookies 能直接拉到 md5 后的 pwd,然后将其赋给 formData,同样这里有一个判定,如果formData.pwd 和 cookies 中一致,就不需要再给其套 md5 了。我们这里可以按照想法 2 来实现。

2023-07-17 21:13:52 576

原创 代码模版-使用vue-cookies

所以一旦之前已经登录有这个 loginInfo 的 cookies 数据的话,formData 会从 cookies 中拿数据,这时候拿到的 formData 的 pwd 数据可是加密后的(要知道手输 input 的 pwd 可是未加密的数据),所以一般在登录 request 之前先要判定下,formData 中的数据和 cookies 中不一致的话就要给 formData 加密,来确保 formData 一定加密后的数据,一致的话那肯定就是 cookies 中的 pwd 数据(即被加密后到数据)

2023-07-17 20:51:25 183

原创 代码模版-vue实现未登录下访问其他页面自动跳转登录页

未登录下,访问一些页面是不被允许或者说也没什么作用,所以需要自动导向/login页面。

2023-07-16 18:28:49 1323

原创 代码模版-vue使用axios调用请求

vue 常常使用 axios 包来调用请求。

2023-07-15 00:24:07 261

原创 代码模版-element plus如何进行前端校验输入框

使用 vue3 + element plus。

2023-07-05 16:59:14 1234

原创 代码模版-vue3使用router的写法

同时在 src 下创建 views 文件夹,其中主要是 vue 组件,来和 index.js 中的路由对应。vue3 项目中 src 下创建 router/index.js,其中主要声明路由。vue3 一般使用 vue-router,npm 下载 vue-router 包。在 App.vue 这个根组件中的 template 中添加。在 src 下的 main.js 中添加使用路由,新增。最后 run 起来查看是否生效即可。index.js 中有。

2023-07-03 18:14:42 535

原创 质量保障能力

测开所需要的能力范畴更新中…

2023-05-11 08:59:57 576

原创 代码模版-vue3简单引入使用elementPlus

最后在 views 文件夹中(这里是专门存放 component 的地方)的某一个 component 的 template 中使用上 elmentPlus 即可。然后 vue3 项目的 main.js 中初始化。

2023-05-09 17:15:07 121

typora-cobalt-theme-master-v1.1.zip

typora 的 cobalt 黑色主题包,zip 压缩文件,随便下载到哪,下载后解压需要将里头的 css 文件和 cobalt 文件夹放置于 typora 的 theme 文件夹下,之后重启 typora 就可以选到该主题,theme 文件夹通过偏好设置->打开主题文件夹可以查找

2020-06-01

Xcode Midnight.jar.zip

intellij idea 的主题风格 xcode,intellij 的软件基本都是支持的,风格挺好看,望下载支持,不需要积分即可下载!

2020-05-30

Windows Update Blocker v1.1.zip

wub 软件,停止 win 10 自动更新,亲测有效,可以使用。 软件名:Windows Update Blocker v1.1.zip 上传者:abcnull

2020-04-19

mysql练习题-sql_practice.pdf

mysql用本博主前面的文件建表完成后,此文档为题目,博主本来想把这些文档一起上传,奈何csdn一次只能上传一个文档(╥╯^╰╥)

2020-03-12

mysql练习题-create_table.pdf

与建表.txt是一样的,文档是英文,不过英文不太复杂,不影响阅读。

2020-03-12

mysql练习题-sql建表文件.txt

mysql建表习题,对应着博主的另两篇pdf,此文件可以改成sql后缀,这样在navicat中可以直接导入,此文件中所用的是mysql语句

2020-03-12

template.html

用于java testng 做 WebUI 自动化时使用的 beautifulreport 测试报告的定制 html 模板

2020-01-26

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

TA关注的人

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