Spring Boot 自定义过滤器(Filter)Filter 过滤器主要是用来过滤用户请求的,它允许我们对用户请求进行前置处理和后置处理,比如实现 URL 级别的权限控制、过滤非法请求等等。Filter 过滤器是面向切面编程——AOP 的具体实现(AOP切面编程只是一种编程思想而已)。自定义 Filter 只需要实现 import javax.servlet.Filter 接口即可。Filte
转载 2024-06-11 21:37:08
145阅读
一.Spring事务特性事务(Transaction)是并发控制的单元,是用户定义的一组操作序列。从数据库角度,就是一组SQL指令,如果执行过程中没有错误,则全部执行成功;如果执行出现错误,则撤销执行过的所有指令。Spring事务管理功能是基于底层DBMS本身的事务处理机制实现。1.事务隔离级别  隔离级别是指若干个并发的事务之间的隔离程度。  ISOLATION_DEFAULT:默认值,使用数据
隔离和降级:虽然限流可以避免因高并发引起的服务故障,但服务还会因为其他原因而故障。而要将这些故障控制在一定范围,避免雪崩,就要靠线程隔离(船舱模式)和熔断降级手段了。不管时线程隔离还是熔断降级,都是对客户端(调用方)的保护。Feign整合sentinel:SpringCloud中,微服务调用都是通过Feign来实现的,因此做客户端保护必须整合Feign和Sentinel。1.修改需要做保护客户端x
Redis 是一套 key-value 高性能数据库,使用它可以大大提高我们的开发效率,在SpringBoot中,自动配置也帮我们节约了大量的配置。 使用它只需要以下几步pom<dependency> <groupId>org.springframework.boot</groupId> <artifactI
转载 2024-06-20 17:04:43
208阅读
文章目录一、摘要二、基础知识介绍2.1 JDBC2.1.1 简单示例2.1.2 JDBC事务存在的问题:2.1.2 Spring事务解决该问题的方式2.2 AOP设计思想2.2.1 代理模式2.2.2 静态代理2.2.3 动态代理2.2.4 为什么使用AOP2.2.5 AOP会使用哪种代理2.2.6 AOP代码编写关键对象及AOP执行流程2.3 ThreadLocal实现原理2.4 Mysql存
一、Spring注解事务的使用、事务失效的场景@Transactional 注解必须添加在public方法上,private、protected方法上是无效的 在使用@Transactional 的时候一定要记住,在private,protected方法上添加@Transactional 注解不会有任何效果。相当于没加一样。即使外部能调到protected的方法也无效。和没有添加@Transact
 数据库事务中的隔离级别和锁 数据库事务在后端开发中占非常重要的地位,如何确保数据读取的正确性、安全性也是我们需要研究的问题。 ACID 首先总结一下数据库事务正确执行的四个要素(ACID):原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做,不能只做一部分; 一致性(Consistency):在事务执行
转载 10月前
52阅读
本文架构如图一.概述1.why?(产生的原因)由于现在的系统越来越复杂,在微服务的理念提出之后,我们将系统拆分成一个个的独立的模块,所以我们迫切的需要一套技术来协调管理这一套的微服务.2.what?(是什么)1.解决分布式系统项目的协调的一整套解决方案,从服务注册,到服务调用,再到负载均衡,服务降级,配置中心等,都有一整套完整的解决方案.2.springCloud是spring社区在基于sprin
转载 2024-06-19 06:31:40
324阅读
一、新建项目1.选中父工程,右键为父工程添加子模块 2.修改子模块的 pom.xml 配置文件,为其添加必要的库<dependencies> <!--web 开发标配--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId&
项目启动一、创建核心模块demo-framework,引入必要依赖<dependencies> <!-- SpringBoot Web容器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactI
初识springboot1为什么使用springboot简单,效率高,约定大于配置,可以用java -jar的方式来启动,可以独立部署pom文件spring-boot-starter-parent 定义:依赖的版本控制器starter 定义:导入某个场景所需要的所有依赖spring-boot-maven-plugin 定义:使springboot可以打包成jar包,并且可以用java -jar 启
转载 2024-04-03 21:15:35
40阅读
事务六个属性细节(回滚则相安无事)1. isolation-Isolation 事务的隔离级别 2. propagation-Propagation 事务的传播行为 3. noRollbackFor-Class[] 指定异常事务不回滚 4. rollbackFor-Class[] 指定异常事务回滚。@Transactional(timeout = 3,rollbackFor = {F
SpringBoot 系列教程之事务隔离级别知识点小结上一篇博文介绍了声明式事务@Transactional的简单使用姿势,最文章的最后给出了这个注解的多个属性,本文将着重放在事务隔离级别的知识点上,并通过实例演示不同的事务隔离级别下,脏读、不可重复读、幻读的具体场景I. 基础知识在进入正文之前,先介绍一下事务隔离级别的一些基础知识点,详细内容,推荐参考博文mysql 之锁与事务[1
1.什么是事务:事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败.2.事务特性(ACID)(4种):原子性 (atomicity):强调事务的不可分割.事务包含的所有操作要么全部成功,要么全部失败回滚(使用 undo log ,从而达到回滚)一致性 (consistency):事务的执行的前后数据的完整性保持一致.(通过回滚,以及恢复,和在并发环境下的隔离做到一致性)隔
事务的重要性不言而喻,Spring 对事务也提供了非常丰富的支持,各种支持的属性应有尽有。然而很多小伙伴知道,这里有两个属性特别绕:隔离性传播性1、什么是事务数据库事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么一起成功,要么一起失败,是一个不可分割的工作单元。在我们日常工作中,涉及到事务的场景非常多,一个 service 中往往需要调用不同的 dao 层方法,这些方法要么同时成功要么同
数据库的事务隔离:MySQL InnoDB事务的隔离级别有四级,默认是“可重复读”RR(REPEATABLE READ)。 oracle默认的是提交读。RC未提交读(READ UNCOMMITTED)。另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)。提交读(READ COMMITTED)。本事务读取到的是最新的数据(其他事务提交后的)。问题是,在同一个事
PC机A、B、C之间不能互通成功
原创 2019-03-17 19:34:07
538阅读
# Java的模块隔离 在软件开发过程中,模块化是一种重要的设计原则。模块化可以将程序分割成互相独立的模块,使得代码更易于维护、更容易重用。而Java作为一种面向对象的编程语言,也提供了一种模块隔离的机制,让开发者能够更好地组织和管理代码。 ## 什么是模块隔离 模块隔离是指将不同的代码逻辑分割成独立的模块,每个模块之间相互隔离,不会相互影响。在Java中,模块隔离可以通过使用包(packa
原创 2023-07-19 06:59:16
99阅读
动态配置数据源动态的GateWay网关配置万物皆可动态配置?本文参考spring-boot-starter-actuator中的日志相关接口实现功能。LogFileWebEndpoint,实现服务器端日志浏览LoggersEndpoint,实现日志的级别查询以及动态设置实战1. 实现服务器端日志浏览核心代码:@RestController @RequestMapping(“/log”) publi
场景:在微服务项目中,或者在一些项目,例如在一个网站中的消息提示、聊天机器人等功能场景中,它相当于是一个公共的功能,在所有模块中都需要,这时候我们肯定不能把代码各复制一份给每个功能模块,这时候就要抽取一个公共模块,也就是自定义starter 效果:任何项目导入此starter都具有打招呼功能,并且问候语中的人名需要可以在配置文件中修改创建自定义starter项目,引入spring-boot-sta
  • 1
  • 2
  • 3
  • 4
  • 5