- 博客(81)
- 资源 (1)
- 收藏
- 关注
原创 Spring 订阅发布模式(事件驱动模型)
Spring 订阅发布模式基于 观察者设计模式,通过 ApplicationEvent (事件)、 ApplicationListener (监听器/订阅者)、 ApplicationEventPublisher (发布者)三者协同实现,核心用于解耦组件间通信,适用于业务逻辑分离(如操作日志记录、异步通知、状态变更回调等场景)。System.out.println("异步监听:向用户[" + event.getUsername() + "]发送欢迎短信(异步执行,不阻塞主流程)");
2025-11-06 08:52:05
484
原创 Vue项目请求转发,接口代理
前端请求 http://localhost:8081/api/user → 转发到 http://localhost:3000/user (因 pathRewrite 去掉了 /api )。- pathRewrite :可选,若后端接口本身就包含 /api 前缀(如 http://localhost:3000/api/user ),则无需重写(删除该配置)。target: 'http://localhost:3000', // 2. 目标后端接口地址(真实接口域名/IP)
2025-10-31 00:16:13
862
原创 CSS Sass Less 样式&.xxx讲解
这里的 &.active 就是选中同时具有 button 和 active 两个类的元素,而不是选中 .button 内部的 .active 元素(后者写法是 .button .active ,有空格)。在 CSS(尤其是使用 Sass/Less 等预处理器时)中, &.xxx 表示选中“当前选择器所匹配的元素”同时还拥有 class 为 "xxx" 的元素。.button.active { /* 匹配同时有 .button 和 .active 类的元素 */
2025-09-03 21:22:03
302
原创 Java如何在遍历集合前判断集合是否为空
这是因为增强 for 循环本质上是对迭代器(Iterator)的包装,在循环开始时会隐式调用。因此,在使用增强 for 循环遍历集合前,需要确保集合对象不为。通过以上方式,可以安全地在遍历集合前判断其状态,避免空指针异常。这两种情况的处理方式不同,通常需要结合判断。在 Java 中,当使用增强 for 循环(,调用其方法就会触发空指针异常。直接判断引用是否指向。方法(推荐),或判断。而导致的运行时异常。
2025-08-28 17:53:11
499
原创 SpringBoot事务@transactional 失效分析-2
在 Spring Boot 中,注解用于声明事务,但实际开发中可能会遇到事务不生效的情况。这通常与 Spring 事务的实现原理、注解使用方式或环境配置有关。
2025-08-27 15:54:48
797
原创 PostgreSQL中的json_agg()
将查询结果中的多行数据转换为JSON数组格式,每行数据作为数组中的一个元素24。是一个聚合函数,用于将多行数据聚合为一个JSON数组。对于大规模数据,建议结合索引使用,并避免在聚合函数内进行复杂计算78。支持多层嵌套聚合,适用于复杂数据结构。配合,动态构建JSON对象并聚合为数组。若聚合结果包含重复数据,需在聚合前使用。类型,需显式转换以避免类型错误6。确保JSON数组元素按指定规则排列2。若需对聚合结果分页,可通过子查询或。PostgreSQL中的。
2025-08-18 14:48:56
503
原创 postgresql数据库,多库表结构版本差异对比方案(笔记)
1.利用postgresql的系统表或者视图,提取库的所有表字段\2.为步骤1的数据,创建临时表,并导入数据3.分析数据,缺少的表或者缺少的字段3.2.-- 缺少的字段。3.1.-- 缺少的表。
2025-08-15 15:29:47
269
原创 SpringBoot面试基础知识
自动配置:根据类路径下的依赖自动配置 Spring 组件(如引入 spring-boot-starter-web 会自动配置 Tomcat、SpringMVC 等)。- 起步依赖(Starter):将常用依赖打包,如 spring-boot-starter-data-jpa 包含 JPA 相关的所有依赖,无需手动管理版本。- MyBatis:通过 mybatis-spring-boot-starter 集成,简化 mapper 扫描和配置。- 如何禁用某个自动配置类?
2025-07-26 10:42:22
447
原创 Java 8 异步编程和非阻塞操作工具 CompletableFuture
是 Java 8 引入的一个强大工具,用于处理异步编程和非阻塞操作。它实现了Future和接口,结合了两者的功能,使异步编程更加灵活和高效。
2025-07-13 12:16:11
261
原创 JavaScript 正则表达式
JavaScript 正则表达式(Regular Expression)是用于匹配字符串模式的强大工具。以下是关于 JavaScript 正则表达式的详细介绍:正则表达式使用斜杠 包围模式,或通过 构造函数创建:常用标志(flags)::检查字符串是否匹配模式,返回 或 。 :返回匹配结果的数组,或 。 :返回匹配结果的数组,或 。 :替换匹配的字符串。 :根据正则表达式分割字符串。 示例:验证邮箱格式注意事项 转义字符:
2025-06-16 10:03:44
799
原创 javaScript 对象的深拷贝与浅拷贝
JavaScript中对象拷贝分为浅拷贝和深拷贝。浅拷贝创建新对象但共享引用属性,常用方法有扩展运算符、Object.assign()和手动复制。深拷贝递归复制所有属性,实现完全独立,可通过JSON方法或递归函数实现,但需注意特殊对象处理问题。实际开发中应根据需求选择,复杂深拷贝可使用Lodash的_.cloneDeep方法。
2025-06-16 09:29:38
320
原创 CSS 外边距合并(Margin Collapsing)问题研究
在 CSS 中,margin-top 属性会导致外部 DIV 移动的现象主要是由于 外边距合并(Margin Collapsing) 造成的。这是 CSS 盒模型的一个特性,可能会与直觉相悖。
2025-06-12 10:53:35
326
原创 常用css样式大全
14||字体||{font-stretch:condensed|expanded|extra-condensed|extra-expanded|inherit|narrower|normal| semi-condensed|semi-expanded|ultra-condensed|ultra-expanded|wider}5||垂直对齐||{vertical-align:inherit|top|bottom|text-top|text-bottom|baseline|middle|sub|super}
2025-05-27 16:40:08
577
原创 CSS Position(定位)
CSS 的position属性在网页布局中至关重要,它能精准调控元素在页面里的呈现位置。下面为你详细介绍这个属性的主要取值及其运用场景。
2025-05-21 17:09:00
472
原创 CSS display有几种属性值
属性是控制元素布局和渲染方式的核心属性之一。它有多种属性值,每个值都决定了元素在文档流中的表现形式。是构建复杂布局的首选方式,而传统的表格布局和浮动已逐渐被淘汰。根据具体需求选择合适的。值,可以大幅提升布局效率和代码可维护性。
2025-05-20 11:28:11
586
原创 CSS可以继承的样式汇总
定位属性:包括 position (定位方式)、 top 、 right 、 bottom 、 left (定位偏移量)以及 z - index (元素堆叠顺序),这些属性是针对特定元素的定位和层级设置,不会被子元素继承。并非所有CSS属性都能继承,比如 width (宽度)、 height (高度)、 margin (外边距)、 padding (内边距)、 border (边框)等属性通常是不继承的,它们需要为每个元素单独设置。若父元素有列表相关样式设置,子列表元素会继承这些样式。
2025-05-13 17:45:06
580
原创 前端工程化-包管理NPM-package.json 和 package-lock.json 详解
package.json 是 Node.js 项目的核心配置文件,它定义了项目的基本信息、依赖项、脚本命令等。
2025-04-12 23:49:21
1321
原创 Typescript export 导出分析-是引用还是值的形式?
typescript export 导出对象分析 总结来说,原始类型是按值导出,对象、数组和函数则是按引用导出。TypeScript 中导出类是按引用形式,即导出的是类定义的引用。不过,每次实例化类时会创建独立的对象实例。
2025-03-29 01:27:44
673
原创 pom.xml与.yml,java配置参数传递
在 Java 项目中,**Maven (`pom.xml`)** 和 **Spring Boot (`application.yml`)** 都使用 `${}` 格式的占位符,但两者的解析阶段不同(构建时 vs. 运行时),直接使用相同符号会导致冲突。在Java项目中,通过 `pom.xml` 和 `.yml` 文件(如 `application.yml`)传递变量通常涉及 **构建时**(Maven)和 **运行时**(Spring Boot)两个阶段的配置。
2025-03-27 22:36:51
814
原创 【数据库事务、消息队列事务、Redis 事务、Spring 事务 详细分析】
数据库事务、消息队列事务、Redis 事务、Spring 事务** 的详细分析在分布式系统和应用开发中,事务管理是确保数据一致性和可靠性的关键机制。以下是针对的详细分析,包括原理、特点、适用场景和对比总结。
2025-03-26 07:28:50
1319
1
原创 java牛排烧烤技术
订单处理中心(传菜系统):Spring Boot 3.x + Spring Cloud Alibaba。- 前端展示层(透明橱窗):Vue.js + WebSocket 实时展示烧烤状态。- 口感缓存层(保温柜):Redis 7.0 集群 + Redisson 分布式锁。- 香味扩散系统(香气管理):RocketMQ 5.0 多级香味队列。- 烧烤核心引擎(主厨团队):Reactor 3 响应式编程。// 预热烤架(线程池预热)- 数据存储窖(食材冷库):TiDB 分布式数据库。
2025-03-22 07:54:23
904
原创 Spring Boot中接口数据字段为 Long 类型时,前端number精度丢失问题解决方案
不过,JavaScript中 Number 类型的安全整数范围是 -2^53 到 2^53 ,如果 Long 类型的值超出这个范围,在前端JavaScript处理时可能会出现精度丢失问题。例如,一个Java对象中有一个 Long 类型的属性 id ,值为 1234567890123L ,在返回的JSON中会表示为 {"id":1234567890123}。在Spring Boot中,当接口数据字段为 Long 类型时,返回页面的JSON中该字段通常会被序列化为数字类型。
2025-03-21 12:55:35
824
原创 基于MySQL的创建<resultMap>和查询条件<if test>
基于MySQL的创建<resultMap>和查询条件<if test>基于MySQL的创建<resultMap>和查询条件<if test>
2025-03-19 11:40:55
291
原创 基于MySQL的创建Java实体Bean和TypeScript实体Bean
【代码】基于MySQL的创建Java实体Bean和typeScrit实体Bean。
2025-03-19 11:06:14
215
原创 uniapp中,单选按钮组回显不起作用
例如,在 onLoad 或 onReady 钩子函数中获取数据并赋值给 v - model 绑定的变量,确保在组件渲染前数据已准备好。检查在不同平台(如微信小程序、H5、APP等)上是否都存在回显问题,如果仅在某个特定平台出现问题,可能需要针对该平台进行特殊处理。确保uniapp版本是最新稳定版,有时旧版本可能存在一些已知的兼容性或功能问题,更新版本可能会解决回显问题。确认 v - model 绑定的变量在数据初始化时是否被正确赋值,若没有初始值,可能导致回显失败。
2025-03-13 18:40:33
609
转载 【理解异步函数async和await的用法 - 优快云 App】
【理解异步函数async和await的用法 - 优快云 App】https://blog.youkuaiyun.com/weixin_45811256/article/details/123638582?
2025-02-09 14:07:50
47
原创 MyBatis-Plus中AbstractJsonTypeHandler使用小结
这样,在对包含 jsonDataField 字段的实体进行数据库操作时,MyBatis-Plus 就会自动使用自定义的 CustomJsonTypeHandler 来处理该字段的 JSON 数据转换。@TableName("your_table_name") public class YourEntity { // 其他字段...在 MyBatis-Plus 中, AbstractJsonTypeHandler 是一个用于处理 JSON 数据类型的抽象类。} 2. 在实体类中应用。
2024-11-02 00:49:41
1135
原创 MySQL中FIND_IN_SET(),IN()和LIKE区别
在 MySQL 中, FIND_IN_SET() 和 LIKE 都可以用于字符串的匹配查找,但它们有以下不同:一、语法及功能1. FIND_IN_SET(str,strlist) :二、适用场景1. FIND_IN_SET() :三、性能方面。
2024-10-15 23:14:04
852
1
原创 MySQL 生成自然数序列
这个查询将生成从 1 到 9 的自然数序列。你可以根据需要调整查询中的终止条件。使用递归查询(仅在 MySQL 8.0 及以上版本支持)MySQL 生成自然数序列。
2024-09-21 23:10:26
400
1
原创 spring三级缓存(摘抄)
3,当创建 A的原始对象后,并把它放到三级缓存中,接下来就该填充对象属性了,这时候发现依赖了B,接着就又去创建B,同样的流程,创建完B填充属性时又发现它依赖了A又是同样的流程,不同的是:这时候可以在三级缓存中查到刚放进去的原始对象A。2,B实例化的时候发现需要A,于是B先查一级缓存,没有,再查二级缓存,还是没有,再查三级缓存,找到了A然后把三级缓存里面的这个A放到二级缓存里面,并删除三级缓存里面的A。1,A创建过程中需要B,于是A将自己放到三级缓里面,去实例化B。
2024-09-15 11:11:46
246
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅