摘要:
Spring 中使用 使用注解 @EnableTransactionManagement 开启事务 配置事务管理器 使用 @Transactional 注解标注某个方法就可以了 @Configuration @EnableTransactionManagement // 启用声明式事务 public 阅读全文
posted @ 2024-11-02 20:40
CyrusHuang
阅读(28)
评论(0)
推荐(0)
摘要:
数据库的事务 概念和特性 事务是数据库操作的一个基本单元,它包含一组操作,这些操作要么全部成功执行,要么全部不执行,保持数据的一致性 原子性 (Atomicity):一个事务中的多个操作要么全部发生,要不都不发生 一致性 (Consistency):事务执行前后,数据从一个合法状态转为另一个合法状态 阅读全文
posted @ 2024-11-02 20:39
CyrusHuang
阅读(54)
评论(0)
推荐(0)
摘要:
代理模式 生成一个扩展的类代替原来的类,可以不改变原始类代码的前提下增强原始类的功能 分为静态代理和动态代理,动态代理又有两种实现方式分别是:JDK和cglib 静态代理:一个代理类只能代理一个原始类,所以每个代理类都要手动编写代理类(硬编码) 动态代理:在 JVM 运行时动态根据原始类创建代理类, 阅读全文
posted @ 2024-11-02 20:38
CyrusHuang
阅读(28)
评论(0)
推荐(0)
摘要:
一、execution 表达式 语法格式 execution([修饰符] 返回类型 [类全路径].方法名(参数列表) [throws 异常]) 示例 // 匹配所有方法 execution(* *(..)) // 匹配特定包下的所有方法(不会递归,当前包合当前包的子包) execution(* co 阅读全文
posted @ 2024-11-02 20:37
CyrusHuang
阅读(31)
评论(0)
推荐(0)
摘要:
AspectJ 与 Advisor 区别 Spring AOP和AspectJ虽然都支持@Aspect注解,但底层实现完全不同: 特性 Spring AOP AspectJ 实现方式 运行时动态代理 编译期/加载时字节码增强 拦截范围 仅Spring Bean的public方法 任意Java对象(包 阅读全文
posted @ 2024-11-02 20:36
CyrusHuang
阅读(125)
评论(0)
推荐(0)
摘要:
声明式配置 用法示例 @Pointcut("execution(* com.example.demo.Person.test(..))") public void logPoint() {} @Aspect @Conponent // 如果看到有的写法这里没有 @Conponent 注解,一定是其他 阅读全文
posted @ 2024-11-02 20:35
CyrusHuang
阅读(45)
评论(0)
推荐(0)
摘要:
Spring AOP 不改变原有代码的情况下增强原有逻辑 实现方式 Spring支持两种AOP实现: Spring AOP(基于Advisor):轻量级,仅支持方法拦截。这是 Spirng 自家的 AspectJ:功能完整,支持字段、构造器等拦截。这是三方框架 维度 Spring AOP(Advis 阅读全文
posted @ 2024-11-02 20:25
CyrusHuang
阅读(45)
评论(0)
推荐(0)

浙公网安备 33010602011771号