Spring 使用及备忘
文章平均质量分 88
Spring 使用中的技巧及记录
谈谈1974
火萎了,我也准备走了
展开
-
SpringBoot 优先加载指定 Bean 的实现
扫描注册 Bean 之前注册指定 Bean 到容器中就能实现优先加载。但是一些特殊的需求确实需要某个 Bean 优先实例化,要实现这样的需求就要对 Bean 对象的创建顺序有一定了解。SpringBoot 框架在启动时可以自动将托管的 Bean 实例化,一般情况下它的。可以正确处理 Bean 之间的依赖关系,无需手动指定某个 Bean 优先创建实例。首先我们要知道,SpringBoot 源码中 Bean 对象的实例化都是从。那么要想让指定的 Bean 优先加载,只需要在。进行 Bean 实例化,原创 2023-05-05 15:31:35 · 2941 阅读 · 0 评论 -
Spring 自动配置过滤器 Filter 的自定义实现
在 SpringBoot 中,开发者可以使用@WebFilter注解来实现过滤器 Filter 的定义,但是这个注解功能并不完善,其在日常使用中至少有以下几个缺陷,有鉴于此笔者打算自行定义实现一个功能更为完善的注解@WebFilter注解想要正常生效必须在启动类上添加注解,手动开启扫描注册@WebFilter注解不能指定过滤器 Filter 的拦截顺序注解的定义如下所示,其使用方式与@WebFilter注解完全一致,但是可以通过order 属性指定拦截器的执行顺序/***/**原创 2022-12-27 16:44:09 · 1129 阅读 · 0 评论 -
Spring 设置跨源资源共享(CORS)
文章目录背景1. Spring 解决方式:设置 CORS2. CORS 的前世今生2.1 CSRF 跨站请求伪造漏洞2.2 浏览器同源策略的产生2.3 跨源资源共享 CORS 的实现2.3.1 简单请求2.3.2 预检请求背景新起的项目需要前后端对接,联调时前端在浏览器窗口请求后端接口出现异常,浏览器控制台报出以下信息。由于当前主流的前后端分离架构,前端项目和后端项目通常不在同一个站点,所以在浏览器上很容易出现这个问题has been blocked by CORS policy: No 'Acc原创 2022-03-27 19:15:02 · 1652 阅读 · 0 评论 -
Spring 事件监听的使用-简单工厂的解耦实现
文章目录1. 简单工厂的常规使用2. 简单工厂到解耦实现1. 简单工厂的常规使用在项目开发过程中,简单工厂是使用最频繁的设计模式之一,借助简单工厂模式可以实现业务处理策略的便捷切换。以下是 Spring 中一个简单工厂模式的使用示例,关键的点如下:将 Handler 接口的实现类托管给容器,然后在工厂类中显式注入,完成实现类实例的注册外部调用工厂方法获取 Handler 实例时传入类型参数,工厂类内部使用 switch-case 匹配目标实例返回这种使用方式虽然可行,但是存在比较大的缺陷:原创 2022-01-06 17:55:36 · 400 阅读 · 0 评论 -
Spring AOP 切入点表达式的使用
文章目录1. 切入点的标识符2. 匹配语法3. 切入点表达式详解1. 切入点的标识符2. 匹配语法3. 切入点表达式详解原创 2020-02-22 12:46:01 · 763 阅读 · 0 评论 -
Spring 定时任务 @Scheduled 的使用
文章目录1. 定时任务的使用1.1 使用示例1.2 注意事项2. cron 表达式相关2.1 cron 表达式格式2.2 特殊字符详解2.3 常见例子1. 定时任务的使用1.1 使用示例在启动类上添加 @EnableScheduling注解@SpringBootApplication@EnableAsync@EnableSchedulingpublic class Applic...原创 2020-02-26 18:30:23 · 481 阅读 · 0 评论 -
Spring 细节汇总(1)-AOP 的实现方式
文章目录1. AOP 的实现方式1.1 动态代理1.2 静态代理2. @Value 注入 Map 类型数据1. AOP 的实现方式AOP:面向切面编程,采用横向抽取的机制取代了传统的纵向继承体系1.1 动态代理Spring 中的 aop 通常是在运行时内存中临时生成代理类,故而又称作运行时增强。运行时增强其实就是动态代理,其底层实现有两种:需增强的目标类有接口,采用 JDK 中的动态代...原创 2019-12-09 20:38:04 · 1074 阅读 · 1 评论 -
Spring Validation 参数校验框架使用指北
文章目录前言1. 依赖引入2. 使用指北2.1 代码示例2.2 校验分组2.3 方法维度校验2.4 嵌套校验3. 全局异常处理前言参数校验是程序开发中必不可少的步骤,任何数据到了后端都需要对其进行合法性检查,以保持程序的健壮性。后端参数校验最简单的做法是直接在业务方法里面进行判断,判断成功之后才继续往下执行。但当多个地方都需要校验时,我们就必须在每一个地方进行校验动作,导致代码很冗余,这时 Spring 框架封装的 Validation 校验组件就可以大显身手1. 依赖引入springboot-2.原创 2021-08-26 15:20:55 · 873 阅读 · 0 评论 -
SpringBoot @Transactional 注解未生效
文章目录1. Spring 中使用事务管理的正确方式2. @Transactional 注解未生效的原因1. 数据库引擎不支持事务2. @Transactional 修饰非 public 方法3. @Transactional 修饰的方法未通过接口调用4. @Transactional 修饰的方法内部捕获异常1. Spring 中使用事务管理的正确方式2. @Transactional 注解未...原创 2019-11-27 22:18:35 · 6459 阅读 · 0 评论 -
Spring 多实例注入
文章目录1. Spring 多实例注入的应用2. Spring 多实例注入的使用1. Spring 多实例注入的应用Spring 容器中保存的 bean 默认是单例的,通常来说这样做可以降低 bean 对象创建的频率,在某些访问量大的场景下可以节省对象创建消耗的时间,提高响应性能。但在一些其他场景,比如脚本调度处理多个消息队列中的消息,这时候拉取各个队列消息的步骤是完全相同的,只不过各条队列的.........原创 2020-02-22 12:37:28 · 5985 阅读 · 0 评论