学习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使用了模板方法模式。

相关推荐
毕设源码-钟学长1 小时前
【开题答辩全过程】以 高校体育赛事管理系统的设计与实现为例,包含答辩的问题和答案
java
丝斯20111 小时前
AI学习笔记整理(54)——大模型之Agent 智能体开发前沿技术
人工智能·笔记·学习
悟能不能悟2 小时前
在Oracle中,包分为包头(PACKAGE)和包体(PACKAGE BODY),存储过程的实现代码在包体中。以下是几种查找方法
数据库·oracle
Remember_9932 小时前
【LeetCode精选算法】双指针专题一
java·数据结构·算法·leetcode
未来龙皇小蓝2 小时前
策略模式:Spring Bean策略与枚举 Lambda策略
java·windows·spring boot·spring·策略模式
铉铉这波能秀2 小时前
如何在arcmap中将shp等文件类型导出为表格(四种方法)
数据库·arcgis·数据分析·arcmap·地理信息·shp
廋到被风吹走2 小时前
【数据库】【Redis】缓存监控体系深度解析:从 BigKeys 到慢查询
数据库·redis·缓存
梦雨羊2 小时前
深入大模型架构学习
学习
SWAGGY..2 小时前
数据结构学习篇(11)---二叉树剩余知识点补充
学习
LiRuiJie2 小时前
从OS层面深入剖析JVM如何实现多线程与同步互斥
java·jvm·os·底层