后端

Spring AI+Redis会话记忆持久化存储实现

准备做一个AI大模型应用项目,一开始计划使用 Redis 进行会话记忆存储,真正到手才发现官方还没有提供 Redis 会话记忆的实现,网上也没有太多好的总结,所以准备自己做一篇博客,也算是对于自己学习的总结和分享。在大家阅读正文之前,大家可以看一下我本人开源的项目,运用到了本文所讲的技术Spring

SpringBoot解决跨域的五种方案

一、同源策略 同源,就是咱们域名、端口号、ip、采用的协议都相同,那么我们就是同源的 反之就是不同源的!!! 出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。 所以,用最简单的话来说,就是前端可以发

SpringBoot YAML 配置读取机制 + 数据库自动初始化原理

👨‍💻程序员三明治:个人主页 🔥 个人专栏: 《设计模式精解》 《重学数据结构》 🤞先做到 再看见! 目录 一、YAML 配置的读取流程(核心:配置绑定) 1. 配置文件加载:SpringBoot 自动识别 YAML 2.

MySQL:事务隔离级别和一致性

一、如何理解隔离性       MySQL服务可能会同时被多个客户端进程(线程)访问,访问的方式以事务方式进行      一个事务可能由多条SQL构成,也就意味着,任何一个事务,都有执行前,执行中,执行后的阶段。而所谓的原子性,其实就是让用户层,要么看到执行前,要么看到执行

SpringMVC 的相关知识梳理

1. SpringMVC的知识脉络 SpringMVC知识点梳理 SpringMVC知识点梳理 官网 网址: SpringMVC的运行原理 iSpringMVC的运行原理 2. SpringMVC的简单

手写理解Callable,Future,Executor

前言 Callable,Future,Executor都是java.util.concurrent包下的工具类,作者李二狗,为了彻底吃透它们的概念,今天就假设这些类都不存在,自己通过实际场景封装出这些工具的山寨版 需求 假设你需要写一个简单的方法,两个值求和,非常简单 public int sum(int x, int y) { return x + y; } 但需求增加了,需要计算的过

如何使用SpringBoot的缓存 @Cacheable

一、简介 1、缓存介绍 Spring 从 3.1 开始就引入了对 Cache 的支持。定义了 org.springframework.cache.Cache 和 org.springframework.cache.CacheManager 接口来统一不同的缓存技术。并支持使用 JCache(JSR-107)注解简化我们的开发。 其使用方法和原理都类似于 Spring 对事务管理的支持。Spring

SpringBoot使用spring.config.import多种方式导入配置文件

简介 SpringBoot从2.4.x版本开始支持了导入文件的方式来加载配置参数,与spring.config.additional-location不同的是不用提前设置而且支持导入的文件类型相对来说要丰富很多。 我们只需要在application.properties/application.yml配置文件中通过spring.config.import属性配置需要导入的文件列表即可。 通过spr

LeetCode练习day6-双指针

[1. 有序数组的 Two Sum] [2. 两数平方和] [3. 反转字符串中的元音字符] [4. 回文字符串] [5. 归并两个有序数组] [6. 判断链表是否存在环] [7. 最长子序列] 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。 1. 有序数组的 Two Sum 167. Two Sum II - Input array is sorted (Easy) L

动态代理-Java-含源码解析

什么是代理模式:代理模式是一种结构型设计模式,主要用于给某一个对象提供代理对象,并由代理对象控制对真实对象的访问。 主要应用:Spring AOP、日志、用户鉴权、Hibernate数据查询、测试框架的后端mock、RPC远程调用、Java注解对象获取、、全局性异常处理、性能监控,甚至事务处理等。 代理模式角色:主要分为调用方、代理对象,业务对象、抽象接口 抽象接口:定义对外提供的方法(功能)。