一、前言 最近ChatGPT非常受欢迎,尤其是在编写代码方面,我每天都在使用。随着使用时间的增长,我开始对其原理产生了一些兴趣。虽然我无法完全理解这些AI大型模型的算法和模型,但我认为可以研究一下其中的交互逻辑。特别是,我想了解它是如何实现在发送一个问题后不需要等待答案完全生成,而是通过不断追加的方式实现实时回复的。…
前言 经过前面对 Spring AOP 、事务的总结,我们已经对它们有了一个比较感性的认知了。 今天,我继续安利一个独门绝技: Spring 事务的钩子函数。 单纯的讲技术可能比较枯燥乏味。接下来,我将以一个实际的案例来描述Spring事务钩子函数的正确使用姿势。 一、案例背景…
前言 SpringMVC是目前主流的Web MVC框架之一。 重要接口和类介绍 1. View接口 视图基础接口,它的各种实现类是无状态的,因此是线程安全的。 该接口定义了两个方法: 2. AbstractView抽象类 View接口的基础实现类。我们稍微介绍一下这个抽象类。 首先看下这个类的属性: 再看下抽象类中接口方法的实现:…
实例讲解 我们分析了转换器的转换过程之后,下面就通过实例来验证我们的结论吧。 首先,我们先把xml转换器实现。 之前已经分析,默认的转换器中是支持xml的。下面我们加上注解试试吧。 由于Map是jdk源码中的部分,因此我们用Employee来做demo。 因此,Controller加上一个方法:…
Memoization 是一种优化技术,用于通过存储昂贵的函数调用的结果并在再次出现相同的输入时重用缓存的结果来加速应用程序。在反应式编程的上下文中,记忆化通过缓存结果来帮助避免重复执行昂贵的操作。让我们深入研究一下如何将 Spring Reactor Mono 用作缓存。 Reactor 中的 Mono.cache() 允许您缓存 Mono…
前言 SpringMVC是目前主流的Web MVC框架之一。 我们使用浏览器通过地址 http://ip:port/contextPath/path 进行访问,SpringMVC是如何得知用户到底是访问哪个Controller中的方法,这期间到底发生了什么。…
接下来我们来看下各种RequestCondition接口的实现类的combine操作。 PatternsRequestCondition: RequestMethodsRequestCondition: 方法的请求条件,用个set直接add即可。 其他相关的RequestConditon实现类读者可自行查看源码。…
前言 SpringMVC是目前主流的Web MVC框架之一。 现象 本文使用的demo基于maven,是根据入门blog的例子继续写下去的。 我们先来看一看对应的现象。 我们这里的配置文件 *-dispatcher.xml中的关键配置如下: (视图配置省略) <mvc:resources location="/static/"…
前言 在我们第一次学Servlet编程,学java web的时候,还没有那么多框架。我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根据需要重写一下doGet,doPost方法,跳转到我们定义好的jsp页面。Servlet类编写完之后在web.xml里注册这个Servlet类。…