标签:事务 Transactional 回滚 当前 注解 上下文
@PostConstruct
@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。
@Transactional
Transactional 注解只能用在public方法上,如果用在protected或者private的方法上,不会报错,但是该注解不会生效。
Transactional注解只能回滚非检查型异常,具体为RuntimeException及其子类。
使用rollbackFor属性来定义回滚的异常类型,使用propagation属性定义事务的传播行为。如:
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)required 当前上下文没有事务调用,会生成一个事务;当前上下文有事务,加入当前事务 required_new 有:新建一个事务,彼此隔离;没有,新建一个事务,彼此隔离;没有,新建一个事 support:支持当前事务,当前上下文有事务,就会加入,没有。不管,不会建事务 not_support :不支持事务,有的话,挂起当前事务,就是自己执行不是事务 mandatory 支持当前事务,当前上下文必须要有事务,否则异常 never 无事务执行 nested 当前上下文没有事,新建一个事务,有事务会嵌套一个事务,主事务回滚他会回滚,他回滚不会影响主事务
回滚Exception类的异常,事务的传播行为支持当前事务,如果没有事务,那么会创建一个事务。
标签:事务,Transactional,回滚,当前,注解,上下文 来源: https://www.cnblogs.com/jiangvtn/p/16157513.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。