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

相关推荐
m0_6530313613 分钟前
PostgreSQL技术大讲堂 - 第97讲:PG数据库编码和区域(locale)答疑解惑
数据库·postgresql
ldj202022 分钟前
SpringBoot为什么使用new RuntimeException() 来获取调用栈?
java·spring boot·后端
超龄超能程序猿23 分钟前
Spring 应用中 Swagger 2.0 迁移 OpenAPI 3.0 详解:配置、注解与实践
java·spring boot·后端·spring·spring cloud
会编程的林俊杰31 分钟前
MySQL中的锁有哪些
数据库·mysql
cts61833 分钟前
Milvus分布式数据库工作职责
数据库·分布式·milvus
周胡杰33 分钟前
鸿蒙加载预置数据库-关系型数据库-如何读取本地/预制数据库
数据库·华为·harmonyos·鸿蒙
风象南35 分钟前
SpringBoot配置属性热更新的轻量级实现
java·spring boot·后端
洛阳泰山35 分钟前
Spring Boot 整合 Nacos 实战教程:服务注册发现与配置中心详解
java·spring boot·后端·nacos
Y40900136 分钟前
C语言转Java语言,相同与相异之处
java·c语言·开发语言·笔记
YuTaoShao37 分钟前
【LeetCode 热题 100】994. 腐烂的橘子——BFS
java·linux·算法·leetcode·宽度优先