随笔分类 - 计算机
摘要:背景 有时候,在使用 MyBatis 时会报下面的错误: Error setting null for parameter #6 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a differ
阅读全文
摘要:总结自:彻底理解 JWT JWT 解决了什么问题? 在学习 JWT 具体内容之前,我们首先要知道它解决了什么问题,它为什么会出现。 来看下面这张图,有的时候服务器会发送一些信息给浏览器。比方说像登陆成功之后,有些身份信息会让浏览器去保存。给到浏览器之后,浏览器就会把这个信息保存下来。具体的保存位置可
阅读全文
摘要:JDBC 是什么 JDBC 是 Java DataBase Connectivity 的缩写,是由一组用 Java 语言编写的类和接口,用于在 Java 应用程序中与数据库进行交互。 JDBC 只是一套标准规范,具体的实现由各个数据库厂商去实现。对开发者来说其屏蔽了不同数据库之间的区别,可以使用相同
阅读全文
摘要:MyBatis 拦截器介绍 MyBatis 提供了一种插件(即 MyBatis 拦截器)机制,可以拦截到 MyBatis 执行流程中的某些操作,从而实现一些特殊的功能。常见的应用场景比如分页、权限控制、日志打印、性能监控等。 MyBatis 拦截器使用 拦截器的使用大致分两步: 创建拦截器类:实现
阅读全文
摘要:假定为在单机场景下使用,且为经典的 SpringBoot 项目(用到 SpringBoot、Spring、SpringMVC、MyBatis 等框架) 引入依赖 在 pom.xml 中添加依赖: <dependency> <groupId>org.springframework.boot</grou
阅读全文
摘要:介绍 定义:模板方法模式在一个方法中定义一个算法的骨架,将一些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义该算法的某些步骤。 示例: /** * 咖啡因饮料冲泡法 */ public abstract class CaffeineBeverage { /** * 模板
阅读全文
摘要:推荐阅读:策略设计模式 介绍 假设有一个支付系统,需要支持使用不同的支付方式(策略),我们可以抽象出一个策略接口,然后定义具体的策略类来实现该接口。 策略接口: public interface PaymentStrategy { void pay(int amount); } 具体策略: publ
阅读全文
摘要:介绍 工厂方法模式定义了一个用于创建对象的接口,由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 在工厂方法模式中,创建对象的工作由具体的工厂类来完成,客户端只需要知道所需产品的具体工厂,而无需关心创建细节。 示例 下面是一个简单的工厂方法模式的示例代码: // 抽象产品类 inte
阅读全文
摘要:介绍 简单工厂模式(又称静态工厂模式):定义一个创建对象的类,由这个类来封装实例化对象的行为。 简单工厂模式应用场景:当我们需要根据传入的参数来动态创建对象时,可以使用简单工厂模式。 简单工厂模式的角色: 工厂类(Creator):负责创建产品的类。在简单工厂模式中,工厂类提供了一个静态方法,根据传
阅读全文
摘要:总结自:一文吃透 Spring Boot 扩展之 BeanFactoryPostProcessor 概述 BeanFactoryPost、Spring 的 BeanDefinitionRegistryPostProcessor 接口详解 什么是 BeanFactoryPostProcessor Be
阅读全文
摘要:原文:如何使用 Spring 的 FactoryBean 接口 在 Spring 容器中有两类的 Bean,一类是普通的 Bean,一类是工厂 Bean。这两种 Bean 都是被 Spring 的容器进行管理的。而 Spring 也提供了一个接口用于扩展工厂 Bean,我们只要实现org.sprin
阅读全文
摘要:推荐阅读:Spring @Import 注解用法、Spring Boot Starter 是什么 @Import 注解用于把实例加入 Spring IOC 容器中。 打开 @SpringBootApplication 注解(Spring Boot 2.6.13 为例),会发现其被 @EnableAu
阅读全文
摘要:基于 Spring Boot Starters 总结 推荐阅读: @Configuration 和 @AutoConfiguration 的区别 @ConfigurationProperties 和 @EnableConfigurationProperties 的作用 Spring Boot Sta
阅读全文
摘要:原文(简单修改):Maven 依赖中的 Scope 详解 scope 元素的作用:控制 dependency 元素的使用范围。通俗的讲,就是控制 jar 包在哪些范围被加载和使用。 compile(默认) compile 是默认值,如果没有指定 scope 值,该依赖的 scope 为 compil
阅读全文
摘要:原文(简单修改):Spring 注解之 @Import 注解的三种使用方式 1、@Import 注解简介 @Import 只能用在类上,用于把实例加入 Spring 的 IOC 容器中。 下面是 @Import 注解的定义,其接收一个 Class 数组类型的参数: @Target(ElementTy
阅读全文
摘要:有时候,我们希望从配置文件中获取一系列配置信息,除了使用@Value注解外,还有一种更好的方式,就是使用@ConfigurationProperties注解。 比如,假设在配置文件中存在如下 OSS 配置信息: spring: oss: enable: true bucket-name: local
阅读全文
摘要:参考:https://stackoverflow.com/a/74117678 @Configuration是一个 Spring 注解,并不严格绑定于 Spring Boot。它的作用是支持以编程方式创建 Spring Bean,以简化 XML 配置。 @AutoConfiguration是 Spr
阅读全文
摘要:原文:如何记忆 Spring Bean 的生命周期 参考:一文读懂 Spring Bean 的生命周期 建议先了解 bean 生命周期涉及到的几个常见接口的基本使用: EnvironmentAware、ApplicationContextAware、InitializingBean、BeanPost
阅读全文
摘要:简介 InitializingBean是 Spring 框架中的一个接口,提供了一种在 bean 完成属性设置后进行自定义初始化的机制。实现这个接口的类可以在 Spring 容器完成 bean 的属性注入后,执行一些初始化逻辑。下面是接口定义: public interface Initializi
阅读全文
摘要:简介 HandlerInterceptor 是 Spring MVC 中的一个接口,用于在处理请求之前和之后进行一些操作。它可以用于日志记录、身份验证、权限检查等功能。 以下是 HandlerInterceptor 接口定义: public interface HandlerInterceptor
阅读全文