【若依】11、自定义注解 + AOP
在系统运行的时候,动态的向系统中添加代码的行为,就是面向切面编程 AOP。 前置通知:在目标方法执行之前执行。 后置通知:在目标方法执行之后执行。 异常通知:当目标方法抛出异常的时候执行。 返回通知:当目标方法有返回值的时候执行。 环绕通知:集大成者,包含了上面的四种情况。 在实际项目中,更多的是通过自定义注解 + AOP解决各种项目问题: 事务处理。 ...
在系统运行的时候,动态的向系统中添加代码的行为,就是面向切面编程 AOP。 前置通知:在目标方法执行之前执行。 后置通知:在目标方法执行之后执行。 异常通知:当目标方法抛出异常的时候执行。 返回通知:当目标方法有返回值的时候执行。 环绕通知:集大成者,包含了上面的四种情况。 在实际项目中,更多的是通过自定义注解 + AOP解决各种项目问题: 事务处理。 ...
❓❓❓@Transactional只能处理本地事务,@DataSource多数据源下事务该如何处理? MySQL 事务实现原理 MySQL事务实现原理_月牙坠的博客-CSDN博客 Seata 官网 Seata 简介 TC:事务协调者(Transaction Coordinator),这个负责维护全局事务和分支事务的状态,驱动全局事务提交或者回滚。 TM:事务管理器(Transaction...
use learn_seata_account; select * from account_tbl; +----+-----------+---------+ | id | user_id | money | +----+-----------+---------+ | 1 | yueyazhui | 1500000 | +----+-----------+---------+ ...
🌰: Entity @TableName("user") @Data public class User implements Serializable { private static final long serialVersionUID = 1L; /** * ID */ @TableId(value = "id", type = IdT...
原始模式 原始模式:seata-samples 1s预览模式 预览模式:seata-samples dev编辑模式 编辑模式:seata-samples 插件 插件下载地址 树结构 GitHub 展示树结构插件(Octotree - GitHub code tree) 【Chrome 插件】Octotree - GitHub code tree Gitee 展示树结...
🕳在 Vue 中,转义的 html,v-html 是解析不了🕳 后端(Java) <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.10.0<...
SpringSecurity 有一个数据权限的注解 @PostFilter;它是从数据库中取到全部数据后,再进行过滤,这样做的效率太低; MyBatisPlus 官网 简介 | MyBatis-Plus CRUD created_time updated_time version deleted 代码生成 源码 yueyazhui/learn_mybatisplus 自定义注解 @DataS...
处理幂等性的常见思路 Token 机制: 😖没有理解😖 首先客户端请求服务端,获取一个 token,每一次请求都获取到一个全新的 token(当然这个 token 会有一个超时时间),将 token 存入 redis 中,然后将 token 返回给客户端; 客户端将来携带刚刚返回的 token 去请求一个接口; 服务端收到请求后,分为两种情况: 如果 t...
yueyazhui/ruoyi_rate_limiter enums 定义限流类型 annotation 定义限流注解 key(前缀)、time(限流时间窗)、count(在时间窗内的限流次数)、limitType(限流类型) config 定义RedisTemplate,改变序列化的方案,默认序列化的方案(JdkSerializatio...
数据源注解 自定义一个注解@DataSource,将来可以将该注解加在Service层方法或者类上面,表示方法或者类中的所有方法都使用某一个数据源。 对于第一步,如果某个方法上面有@DataSource注解,那么就将该方法需要使用的数据源名称存入到 ThreadLocal。 自定义切面,在切面中解析@DataSource注解,当一个方法或者类上面有@DataSource注解的时...