学习java第三十五

Spring事务传播行为:

PROPAGATION_REQUIRED(默认) 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中

PROPAGATION_SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行

PROPAGATION_MANDATORY 使用当前的事务,如果当前没有事务,就抛出异常

PROPAGATION_REQUIRES_NEW 新建事务,如果当前存在事务,把当前事务挂起

PROPAGATION_NOT_SUPPORTED 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起

PROPAGATION_NEVER 以非事务方式执行,如果当前存在事务,则抛出异常

PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行PROPAGATION_REQUIRED 类似的操作

Spring涉及的设计模式:

简单工厂模式

Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象

工厂方法模式

Spring中的FactoryBean就是典型的工厂方法模式

单例模式

保证一个类仅有一个实例,并提供一个访问它的全局访问点。

Spring中的单例模式完成了后半句话,即提供了全局的访问点BeanFactory。但没有从构造器级别去控制单例

适配器模式

Spring在***上采用了适配器模式。

装饰器模式

Spring中用到的包装器模式在类名上有两种表现:一种是类名中含有Wrapper,另一种是类名中含有Decorator。基本上都是动态地给一个对象添加一些额外的职责。

代理模式

Spring的Proxy模式在aop中有体现

观察者模式

Spring中Observer模式常用的地方是listener的实现。如ApplicationListener。

策略模式

Spring中在实例化对象的时候用到Strategy模式。

模板方法模式

JdbcTemplate使用了模板方法模式。

相关推荐
中电金信13 分钟前
从业务调优到分层缓存:DeepSeek V4 Flash的PPU实践
java·开发语言
snow@li19 分钟前
ruoyi-vue-pro/芋道源码:一键改包名/用项目自带的 ‌ProjectReactor‌ 程序/彻底、省事
java
熊出没22 分钟前
CommitLoom 使用教程:在 IntelliJ IDEA 中自动生成 Git 提交信息
java·git·intellij-idea
步行cgn40 分钟前
Spring MVC POST 请求乱码:原因与完整解决方案
java·spring·mvc
y1su41 分钟前
Leetcode 链表,树,回溯 模板
java·leetcode·链表
qianyuqiye11 小时前
K8s 命名空间与 Pod 入门:从概念到实战
java·docker·kubernetes
牧瀬クリスだ1 小时前
观察者模式:一个对象变化,一群对象自动响应
java·观察者模式·设计模式
小张成长计划..1 小时前
【Linux】26:线程互斥和同步
java·开发语言
邪修king4 小时前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
拆房老料4 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt