自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (2)
  • 收藏
  • 关注

原创 mybatis

InterceptorChain类。查看interceptor。

2023-08-22 02:47:46 101

原创 jekin docker安装

插件网站 https://updates.jenkins-ci.org/download/plugins/替换成自己jekin版本的update.json。

2023-07-30 15:46:22 137

原创 简单版分布式锁

https://blog.51cto.com/u_13270529/5960899

2023-05-26 00:56:13 96

原创 邮件收件知识

https://zhuanlan.zhihu.com/p/306569650https://blog.youkuaiyun.com/jackywangjia/article/details/7872406https://blog.youkuaiyun.com/waterdemo/article/details/48289065https://help.aliyun.com/document_detail/73036.html

2023-04-27 01:04:47 92

原创 oracle

【代码】oracle。

2023-04-05 01:21:17 63

原创 linux查日志

tail -fn 1000 test.log | grep ‘关键字’

2023-03-26 23:47:54 66

原创 oracle语法

【代码】oracle。

2023-03-16 03:39:21 114

原创 junit test--简单常用语法总结

MockBean定义行为和验证@SpringBootTestclass HelloControllerTest { //没有定义方法行为前, 所有调用不会真实调用且返回null @MockBean private Service service; @Autowired private HelloController helloController; //mockBean里方法不定义行为, 结果不调用真实方法且直接返回null @Test

2021-08-08 22:35:24 803

原创 方法重试工具类

工具类, java8的方法参数是可以传函数@Component@Slf4jpublic class RetryHandler { @Autowired private RetryProperties retryProperties; public <T> T retry(Supplier<T> supplier){ return retry(supplier, retryProperties.getRe

2021-08-08 19:08:48 216

原创 编程技巧-Optional

一. Optional 出现原因java8用来优雅处理null的包装对象。就像一个处理不确定性的管道,我们在一头丢进一个可能是 null 的东西(接口返回结果),经过层层处理,最后消除不确定性。Optional 在过程中保留了不确定性,从而把对 null 的处理移到了若干次操作的最后,以减少出现空指针错误的可能。二. Optional 应用的建议适用于层级处理(依赖上一步操作)的场合。产生对象的方法若可能返回 null,可以用 Optional 包装。尽可能延后处理 null 的时机,在过.

2021-05-25 04:27:31 236

原创 spring监听器用法

1. 新建springboot项目,2.3.7.RELEASE2.自定义事件源,继承ApplicationEvent//邮件发送事件源public class EmailEven extends ApplicationEvent { private String address; private String msg; public EmailEven(Object source, String address, String msg) { supe

2021-05-19 02:52:02 306

原创 异步调用Async的使用

异步调用Async

2021-05-19 02:51:35 870

原创 嵌套类

作为一个打算长期往技术发展的程序猿, 虽然没怎么写过嵌套类, 但既然有这种定义就必然有合适的使用场景, 而且偶尔确实能在公司架构师和源码阅读中碰到, 所以还是应该好好掌握.以下类的定义大多翻译自官网嵌套类定义Java编程语言允许在另一个类中定义一个类. 这样的类被称为嵌套类分类嵌套类分为两类:1. 静态类.声明为静态的嵌套类称为静态嵌套类,不能访问外围类的其他成员与类方法和变量一样,静态嵌套类与它的外部类相关联。与静态类方法一样,静态嵌套类不能直接引用在其外围类中定义的实例变量或方法:它只

2021-04-13 01:08:06 121

原创 validator参数验证

传统后端参数验证通过大量if…else来做校验Java Community Process Programa校验标准和validator版本对应jsr版本303349380validator版本1.01.12.0Jakarta Bean Validation specificationHibernate Validator 7.0.1.Final项目中使用validator验证1. 基础验证新建springboot工程 <dependency>

2021-04-13 01:06:53 1142

原创 位运算

1. 常用位运算位与 & (1&1=1 0&0=0 1&0=0)位或 | (1|1=1 0|0=0 1|0=1)位非 (1=0 ~0=1)位异或 ^ (1^1=0 1^0=1 0^0=0) 简单说就是无进位相加有符号右移>>(换算成二进制后,向右移动,舍弃挤出的位. 若正数,高位补0,负数,高位补1)有符号左移<< (换算成二进制后,向左移动,舍弃挤出的位. 若正数,高位补0,负数,高位补1)无符号右移>>>(不论正负

2021-03-29 07:52:59 128

原创 格式化打印System.out.printf的使用

比起System.out.println("一"+a+"堆"+b+"加"+c+"号");拼接参数时不用总是一堆加号,但不换行,想换行要加换行符\n常用格式化类型测试public class SoufTest { public static void main(String[] args) { System.out.printf("%s\n","输出字符串"); //输出字符串 System.out.printf("%s:%d\n","输出十进制数

2021-03-29 07:43:51 742

原创 cumumber参数说明

feature文件1. Feature用来描述我们需要测试的模块,如登录模块2. Scenario用来概述功能测试点,如登录功能接口.登录验证功能接口3. Given前置条件,比如用户已有账号,用户在哪个页面进行操作?4. When描述用户操作的执行动作,比如请求某个api5. Then断言 表示执行的结果6. And一个步骤中如果存在多个Then操作,第二个开始后面的Then可以用And替代(注意是可以,也可以用Then),使用but比起when仅仅是让语义阅读起来更好理解7.

2021-03-29 06:28:39 497

原创 cucumber基础测试用例

基础用例1. idea生成基础springboot项目,导入cumumber所需依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.

2021-03-29 06:20:55 1325

原创 事务六.spring事务失效

常见事务失效情况1.事务注解的方法不是public2.catch掉异常,导致事务aop切面捕获不到异常3.方法内调用方法4.事务传播属性不理解误用5.自定义异常不是RuntimeException及其子类6. 数据库不支持事务7. 没有被spring管理案例public void t3(){ ...t3业务操作... t4();}@Transactionalpublic int t4() { ...t4业务操作... return 1;}实际效果等

2021-03-26 05:54:01 92

原创 事务五.spring事务工具类TransactionSynchronizationManager

1.定义触发器会触发的事务同步方法,重写你所关注的事务事件@Componentpublic class DoBeforeCommit extends TransactionSynchronizationAdapter { @Override public void beforeCompletion() { super.beforeCompletion(); System.out.println("完成前做某些事"); }}2.调用时先注册即可

2021-03-26 05:00:37 785

原创 事务四.乐观锁---数据库实现

实现方法在表中加入版本字段,如version.更新前查询版本号,sql语句更新时更新版本后并且加上条件判断update database set version=versoin+1 where ticketId = 98 and version = 1由于查询都能查询到,但更新时mysql会有行锁锁住,所以只有一个线程能成功数据库代码@Transactional@Overridepublic int getTicket() { //1、获取锁,多个线程均能成功 List

2021-03-26 04:50:45 265

原创 事务三.spring编程性事务

注解式事务问题spring注解事务控制的最小粒度是方法,也就是说如果你有某些非同一事务或非事务的长时间流程就应该另起一个方法例如下面,如果userService.saveUser()的传播属性是new而且执行时间很长要5s,那么执行到第二个事务userService.saveUser()时,第一个事务save()会被挂起,挂起的事务会占用线程池连接,浪费5s的资源例如下面,redisTemplate.opsForValue().set(“key1”,“value1”)需要5s,业务上如果可以接受该方

2021-03-26 04:38:35 187

原创 事务二.spring事务传播

文章总结遇到多重事务问题时,如果不确定最好功能测试下验证结果.分析可以通过伪代码一层层分析.事务传播属性是注解性事务特有的,第二个事务才会用到该属性主要注意几点,抛异常代码不会往下走,只走catch和finally,源码中newTransaction很大程度上左右事务是否真正提交或回滚,此外还有rollbackOnly事务是与线程绑定的,存储在ThreadLocal里required_new是完全创建一个新事务,解除旧ThreadLocal的绑定,自己执行完又恢复旧的事务数据nest是创建回滚

2021-03-26 04:09:29 142

原创 事务一.Java事务

jdk事务思路获取连接源关闭自动提交准备sql语句提交try-catch上面语句,捕获到异常时回滚spring切面事务(案例springboot版本2.3.7.RELEASE)开启注解入口@EnableTransactionManagement注册两个类AutoProxyRegistrar.class作用:注册代理类入口InfrastructureAdvisorAutoProxyCreator.class,该类在实例化最后判断是否有切面,有就走代理把属性设置到bd中,最终

2021-03-26 02:23:19 118

Everything.7z

查找软件

2021-06-09

Snipaste-1.15.1-x64.7z

截图

2021-06-09

空空如也

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

TA关注的人

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