- 博客(39)
- 收藏
- 关注
原创 spring - 十二种事务失效场景
在使用@Transactional注解声明事务时,有时我们想自定义回滚的异常,spring也是支持的。可以通过设置rollbackFor参数,来完成这个功能。但如果这个参数的值设置错了,就会引出一些问题save(demo);上面是我们自定义的业务异常,如果在执行上面这段代码,保存和更新数据时,程序报错了,抛了SqlException、DuplicateKeyException等异常。
2025-03-25 17:07:59
1021
翻译 优雅使用 Enum 提升 SpringBoot 配置管理效率
然而,随着业务逻辑的复杂化,直接使用字符串或数字作为配置项可能会导致代码的可读性和可维护性下降。通过将业务中的固定状态、类型等内容定义为枚举,可以使得代码更加严谨和可维护。枚举类(Enum) 提供了一种将一组固定的值封装在一起的方法,这不仅提高了代码的可读性,还能避免硬编码(注解允许开发者将外部配置文件中的内容映射到 Java 类中,从而实现配置的动态管理。注解将配置文件中的内容映射到 Java 类中,并使用 Enum 来表示这些配置项。在实际业务中,可能需要根据不同的环境或配置动态调整这些枚举值。
2025-03-10 16:41:30
30
原创 季度操作工具类
季度结束时间: 2024-12-31T23:59:59。季度开始时间:2024-10-01T00:00。举例:获取年份下某季度的开始时间和结束时间。输入年份: 2024 输入季度: 4。
2024-10-21 14:03:22
224
原创 oracle技巧 - (年、季度)转换得到(季度起始时间、季度结束时间)
输入年和季度,得到这一年这一季度的开始时间和结束时间。输出参数:季度开始时间 季度结束时间。输入参数: 年 季度。
2024-10-20 12:40:24
849
翻译 print()美化输出
让我来向你介绍pprint模块,Python世界的调皮小精灵!它的全名是'Pretty Print',意思就是美化输出,简直就是程序员的化妆师!正写代码过程中,调试也是很费时间的,特别是打印格式不友好的时候,需要来回调试。别再为了阅读方便而纠结于逐个元素翻转列表或嵌套字典,pprint会替你搞定!
2024-10-09 17:55:36
166
翻译 不容错过的 30 个 Python 单行代码,高效简洁的代码技巧
示例30 个必备的 Python 单行代码,它们可以帮助你编写更简洁、高效的代码。无论你是初学者还是有经验的开发者,这些单行代码都能优化你的编码流程。
2024-10-09 13:52:43
175
翻译 SpringBoot中读取配置的七种方法总结
1、使用@Value注解(常用)@Value注解是最直接且常用的读取配置的方式。它可以将配置文件中的属性值注入到Spring管理的Bean的字段中。配置文件 application.ymlserver:port: 8080fruits:price: 10@Component@Getter@Setter总结:@Value注解只能读取单个配置进行赋值,无法读取整个配置文件批量赋值可以在属性名称后面使用冒号(:default-value)的形式添加默认值。
2024-09-23 17:24:45
149
1
原创 抽象类与接口
除了类不能被实例化之外,与普通类没有什么区别。抽象类可以有抽象方法,抽象方法只有定义,实现由子类实现,子类不能实现就继续抽象。有一系列的抽象方法,实现由子类实现。解决代码的复用性和可维护性。设计好各种规范(方法),让其它类去实现这些方法。
2024-05-30 17:22:40
454
原创 深拷贝与浅拷贝
深浅拷贝主要是针对于对象中的引用类型有影响,基本类型不会受影响。深拷贝,原引用类型和拷贝出来的引用类型的地址和属性是完全独立的;浅拷贝,原引用类型和拷贝出来的引用类型的地址和属性是相等的,拷贝的引用类型地址是指向原引用类型地址的,不论修改原引用类型,还是拷贝的引用类型的属性,两个引用类型的属性都会改变。注意:Cloneable 接口的 clone 方法默认是浅拷贝,需要自行覆盖才能实现深拷贝。
2024-05-30 16:29:04
1126
翻译 springBoot - 使用Aop统计方法时间
想知道整个系统前端和后端所有方法的执行时间。是的你没有听错,是每个方法。这个需求一提出来就被整蒙了,给每个方法计算执行时间,这不是平白给系统压力吗?现在已经可以满足项目经理的需求了,如果以后新的代码没有在切入点的范围内,就又不生效了,因此在以上代码的基础上做出改变,定义一个注解,要记录时直接写个注解。
2024-05-08 17:12:10
394
原创 idea插件-enum-quick-generate(枚举类快速生成插件)
前言:工作中总会有字段需要创建枚举类,自己单独创建枚举类,十分耗时。该文提到的插件可以快速生成枚举类,提高开发效率。
2024-04-29 10:33:04
985
3
原创 java捕获异常后怎么继续执行
实际项目当中,还会将同步好的数据进入库记录(或者专门创建一张表对已入库数据进行id记录),这样发生异常后,再次调用方法。会将数据库当中的数据与同步的数据进行比对,数据已经同步则不需要再同步。最近在工作中,遇到同步第三方接口数据,由于数据量巨大,且有多个厂商都在访问第三方的接口进行数据同步,导致第三方同步接口经常报连接异常,使我们程序挂掉,程序再次运行则会从头开始,循环往复,每次程序都会从头开始。块中的代码无论是否发生异常都会被执行。块中执行可能抛出异常的代码,在。块中捕获并处理异常,而。
2024-03-27 15:12:52
1016
原创 MySql - ON DUPLICATE KEY UPDATE插入或更新
当插入数据时,要判断一行的主键或者唯一键是否存在,存在则更新指定的信息,不存在则插入。
2024-03-08 15:14:51
496
原创 MySql高级用法- 窗口函数
last_value返回当前框架的最后一行计算出的值SELECTw.id,w.name,w.val,LAST_VALUE(val) over(PARTITION BY w.name ORDER BY w.val DESC) AS '组内倒序最后一个值',LAST_VALUE(val) over(PARTITION BY w.name ORDER BY w.val ASC) AS '组内正序最后一个值'FROMwindows w。
2024-03-05 18:02:24
1069
原创 idea技巧-折叠区域注释
3、将 Description 替换成自己想要描述的注释,就完成了区域注释,并且注释的代码块还可以折叠方便查看。以前我们注释一段区域代码,可能会在代码块的前端注释开始,也会在代码块后面注释结束。现在我们可以通过idea设置快捷方式进行注释。1、选中需要注释的区域,按下。2、选择之后就会生成注释。
2024-02-22 14:42:32
1649
原创 简化代码-Lombok
Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。简而言之:以注解的形式简化java代码,提高开发效率。
2023-12-26 16:10:28
994
翻译 过滤器Filter和拦截器Interceptor
Override//在Filter生命周期只会调用一次,可以读取配置文件logger.info("【过滤器】初始化");@Overridelogger.info("【过滤器】开始执行");logger.info("【过滤器】执行结束");@Component@Overridelogger.info("【拦截器】控制器方法调用前");@Overridelogger.info("【拦截器】控制器方法调用后,视图渲染前");@Override。
2023-12-11 15:24:49
128
原创 Git撤回已push的代码
按住Ctrl选中已push的提交与要恢复的提交版本进行比对,删除不需要的代码,再重新提交即可。重置过后,打开push界面可能没有需要提交内容,这时候选择强制推送,推送到远程仓库,即可。对于一些被保护的分支,强制推送这个操作是不能进行的。需要强制推送的话,将下方内容删除或者替换成其它分支,保存后,即可进行强制推送。:任何本地更改都将丢失,文件将恢复到所选提交的状态,但本地更改将保持不变。:你之前写的不会改变,你之前暂存过的文件还在暂存。:你之前写的不会改变,你之前暂存过的文件不会暂存。适用于恢复代码多时。
2023-12-11 14:52:22
478
原创 try catch 应该在 for 循环里面还是外面?
1、try catch在for循环里面时,出现异常,for循环不会中断。2、try catch在for循环外面时,出现异常,for循环会被中断。try catch在for循环里面时,会存在更大的内存消耗。3、存在大批量业务处理全是。
2023-12-08 14:51:06
993
原创 Mysql-慢查询日志使用
Mysql默认情况下没有打开慢日志,主要是因为慢日志可能会对数据库的性能产生一定的影响。当开启慢日志时,Mysql需要在每次执行语句时判断是否超过了慢日志的阈值,这会增加额外的计算和存储开销。此外,如果慢日志记录的数据量过大,也会占用大量的磁盘空间,进一步影响数据库性能。因此,开启慢日志需要在保证数据库性能的前提下进行,需要根据实际需求进行设置。
2023-11-28 21:48:23
272
转载 一个 Spring 注解轻松搞定循环重试功能!
循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。这些错误可能是因为网络波动造成的,等待过后重处理就能成功。却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能。
2023-04-14 15:01:23
105
原创 设计模式 - 工厂模式 + 模板方法模式(消除if-else)
我们在具体模板类上面加上了,这样类就被spring容器进行管理。通过获取Bean名称,获取到对应具体模板类,这里就借助spring容器使用到了工厂模式工厂模式可以帮助我们消除if-else。
2023-04-06 09:42:01
601
原创 【设计模式 - 模板方法】
模板模式的核心设计思路,是通过在抽象类中定义抽象方法的执行顺序,并将抽象方法设定为只有子类实现,但不设计独⽴立访问的方法。简单说也就是把你安排的明明白白的。
2023-04-04 16:52:56
374
2
微信公众号批量下载工具
2023-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人