Spring
文章平均质量分 57
细雨生寒未有霜
这个作者很懒,什么都没留下…
展开
-
Spring都有哪些事务传播特性
来源于《互联网轻量级SSM框架解密:Spring、Spring MVC、MyBatis源码深度剖析》 内容 我们再来看看这个传播机制的特性。 Spring 事务默认是开启的,外层方法开启事务(Propagation.Required),事务会被传递到子方法中,哪怕子方法没有明确开启事务。如果子方法不想参与当前事务,则可以使用 Propagation.NOT_SUPPORTED,这个方法就会不使用事务,而且作用范围只在本方法内。 对事务传播性的描述可理解如下。 (1)REQUIRED:支持当前事务,如果当前原创 2021-08-27 11:05:32 · 239 阅读 · 0 评论 -
@Transactional注解的失效场景
总结: 参考链接:一口气说出 6种,@Transactional注解的失效场景 不是public方法 progagation属性设置错误 rollbackFor属性设置错误 同一个类中没有事务的方法A调用有事务的方法B 方法A、B都加了@transactional,但是A调B时A中用catch捕获B产生的异常 数据库不支持事务 如果事务方法内,开启了新线程去执行其他事务方法也是不受当前事务方法控制的。因为不同线程拥有的threadlocal 不一样 ...原创 2021-08-12 09:45:35 · 106 阅读 · 0 评论 -
Spring中的Bean是线程安全的吗?
Spring的Bean的作用域 Singleton:默认的作用域,生成单例对象,生命周期跟SpringIOC容器一样,第一次注入时创建 Prototype:原型,每次生成新的对象 Request:每次Http请求创建一个单例对象,那次请求就一直使用这个对象 Session:同一个会话使用同一个对象,不同会话使用不同对象 Global-session:所有会话使用同一个实例 说明 Singleton作用域下所有线程使用同一个Bean,因此存在资源竞争问题。 如果单例Bean是无状态的,就是不存储数据,例如原创 2021-07-14 10:59:56 · 141 阅读 · 0 评论