ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java面试题

2022-09-13 09:35:00  阅读:261  来源: 互联网

标签:面试题 Java BeanFactory 事务 PROPAGATION Bean 线程 如果


Spring

Spring中的Bean是否线程安全

1.如果Bean是⽆状态的,那么Bean则是线程安全的(没有共享修改操作)
2.如果Bean是有状态的,那么Bean则不是线程安全的
:Bean只是一个概念,Bean是否线程安全,应看对应的对象(Bean对象)是否线程安全,有没有共享操作,是否修改。

BeanFactory和ApplicationContext区别

Spring 框架带有两个 IOC 容器—— BeanFactory和ApplicationContext。BeanFactory是 IOC 容器的最基本版本,ApplicationContext扩展了BeanFactory的特性。

spring事务的传播

  • 按照编写代码时定义的传播机制进行传播 @Transactional(propagation=Propagation.REQUIRED // propagation 枚举值)
  • spring事务的7大传播机制(a.b)
    • PROPAGATION_REQUIRED(spring默认值):如果a存在一个事务,则b支持当前事务。如果a没有事务则b开启一个新的事务。
    • PROPAGATION_SUPPORTS:如果a存在一个事务,b支持当前事务。如果a没有事务,则b非事务的执行。但是对于事务同步的事务管理器,PROPAGATION_SUPPORTS与不使用事务有少许不同。
    • PROPAGATION_MANDATORY:如果a存在一个事务,b支持当前事务。如果a没有一个活动的事务,则抛出异常。
    • PROPAGATION_REQUIRES_NEW:b总是开启一个新的事务。如果a已经存在事务,则将a的事务挂起。
    • PROPAGATION_NOT_SUPPORTED:b总是非事务地执行,并挂起a存在的任何事务。
    • PROPAGATION_NEVER:b总是非事务地执行,如果a存在一个活动事务,则抛出异常。
    • PROPAGATION_NESTED:如果a有一个活动的事务存在,则b运行在一个嵌套的事务中. 如果没有活动事务, 则按TransactionDefinition.PROPAGATION_REQUIRED 属性执行。

标签:面试题,Java,BeanFactory,事务,PROPAGATION,Bean,线程,如果
来源: https://www.cnblogs.com/lingStudy/p/16669592.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有