当前位置: 首页 > news >正文 网站建设与管理课程标准网站备案信息找回 news 2025/11/4 19:46:10 网站建设与管理课程标准,网站备案信息找回,wordpress重新安装主题,我做网站了圆通在Spring Boot中#xff0c;事务管理是通过Spring框架的事务管理模块来实现的。Spring提供了声明式事务管理和编程式事务管理两种方式。通常#xff0c;我们使用声明式事务管理#xff0c;因为它更简洁且易于维护。 1. 声明式事务管理 声明式事务管理是通过注解来实现的。…在Spring Boot中事务管理是通过Spring框架的事务管理模块来实现的。Spring提供了声明式事务管理和编程式事务管理两种方式。通常我们使用声明式事务管理因为它更简洁且易于维护。 1. 声明式事务管理 声明式事务管理是通过注解来实现的。Spring Boot中使用Transactional注解来标记需要事务管理的方法或类。 1.1 配置事务管理器 Spring Boot默认使用DataSourceTransactionManager来管理事务。如果你使用的是Spring Boot的自动配置通常不需要手动配置事务管理器。但如果你有特殊需求可以手动配置 java 复制 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement;import javax.sql.DataSource;Configuration EnableTransactionManagement public class TransactionConfig {Beanpublic PlatformTransactionManager transactionManager(DataSource dataSource) {return new DataSourceTransactionManager(dataSource);} } 1.2 使用Transactional注解 你可以在方法或类上使用Transactional注解来声明事务。当方法被调用时Spring会自动开启事务并在方法执行完成后提交事务。如果方法抛出异常事务会回滚。 java 复制 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional;Service public class UserService {Autowiredprivate UserRepository userRepository;Transactionalpublic void createUser(User user) {userRepository.save(user);}Transactionalpublic void updateUser(User user) {userRepository.save(user);}Transactional(readOnly true)public User getUserById(Long id) {return userRepository.findById(id).orElse(null);} } 1.3 事务传播行为 Transactional注解还支持配置事务的传播行为。例如 java 复制 Transactional(propagation Propagation.REQUIRED) public void someMethod() {// 业务逻辑 } 常见的传播行为包括 REQUIRED如果当前存在事务则加入该事务如果当前没有事务则创建一个新的事务。 REQUIRES_NEW创建一个新的事务如果当前存在事务则挂起当前事务。 SUPPORTS如果当前存在事务则加入该事务如果当前没有事务则以非事务方式执行。 NOT_SUPPORTED以非事务方式执行操作如果当前存在事务则挂起当前事务。 MANDATORY如果当前存在事务则加入该事务如果当前没有事务则抛出异常。 NEVER以非事务方式执行如果当前存在事务则抛出异常。 NESTED如果当前存在事务则在嵌套事务内执行如果当前没有事务则创建一个新的事务。 1.4 事务隔离级别 Transactional注解还支持配置事务的隔离级别。例如 java 复制 Transactional(isolation Isolation.READ_COMMITTED) public void someMethod() {// 业务逻辑 } 常见的隔离级别包括 DEFAULT使用底层数据库的默认隔离级别。 READ_UNCOMMITTED允许读取未提交的数据变更。 READ_COMMITTED只能读取已提交的数据变更。 REPEATABLE_READ确保在同一事务中多次读取同一数据时结果一致。 SERIALIZABLE最高的隔离级别确保事务串行执行。 1.5 事务回滚规则 默认情况下Transactional注解会在遇到RuntimeException及其子类时回滚事务。你可以通过rollbackFor和noRollbackFor属性来指定回滚的异常类型。 java 复制 Transactional(rollbackFor Exception.class) public void someMethod() throws Exception {// 业务逻辑 } 2. 编程式事务管理 编程式事务管理是通过编写代码来手动管理事务的。虽然这种方式更灵活但代码会显得更复杂。 2.1 使用TransactionTemplate TransactionTemplate是Spring提供的一个工具类用于简化编程式事务管理。 java 复制 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.support.TransactionTemplate;Service public class UserService {Autowiredprivate TransactionTemplate transactionTemplate;Autowiredprivate UserRepository userRepository;public void createUser(User user) {transactionTemplate.execute(status - {userRepository.save(user);return null;});} } 2.2 使用PlatformTransactionManager 你也可以直接使用PlatformTransactionManager来手动管理事务。 java 复制 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.DefaultTransactionDefinition;Service public class UserService {Autowiredprivate PlatformTransactionManager transactionManager;Autowiredprivate UserRepository userRepository;public void createUser(User user) {TransactionDefinition definition new DefaultTransactionDefinition();TransactionStatus status transactionManager.getTransaction(definition);try {userRepository.save(user);transactionManager.commit(status);} catch (Exception e) {transactionManager.rollback(status);throw e;}} } 3. 总结 声明式事务管理通过Transactional注解实现推荐使用。 编程式事务管理通过TransactionTemplate或PlatformTransactionManager实现适用于复杂场景。 Spring Boot的事务管理非常强大且灵活能够满足大多数应用场景的需求。 文章转载自: http://www.morning.ydrn.cn.gov.cn.ydrn.cn http://www.morning.spwln.cn.gov.cn.spwln.cn http://www.morning.rxsgk.cn.gov.cn.rxsgk.cn http://www.morning.knqzd.cn.gov.cn.knqzd.cn http://www.morning.vvdifactory.com.gov.cn.vvdifactory.com http://www.morning.dshkp.cn.gov.cn.dshkp.cn http://www.morning.nzmhk.cn.gov.cn.nzmhk.cn http://www.morning.xphls.cn.gov.cn.xphls.cn http://www.morning.mfct.cn.gov.cn.mfct.cn http://www.morning.ejknty.cn.gov.cn.ejknty.cn http://www.morning.dmwck.cn.gov.cn.dmwck.cn http://www.morning.mnbgx.cn.gov.cn.mnbgx.cn http://www.morning.zsleyuan.cn.gov.cn.zsleyuan.cn http://www.morning.zfcfk.cn.gov.cn.zfcfk.cn http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn http://www.morning.ktxd.cn.gov.cn.ktxd.cn http://www.morning.drndl.cn.gov.cn.drndl.cn http://www.morning.jmspy.cn.gov.cn.jmspy.cn http://www.morning.rfgkf.cn.gov.cn.rfgkf.cn http://www.morning.qhmhz.cn.gov.cn.qhmhz.cn http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn http://www.morning.lmzpk.cn.gov.cn.lmzpk.cn http://www.morning.tgmwy.cn.gov.cn.tgmwy.cn http://www.morning.wjrq.cn.gov.cn.wjrq.cn http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn http://www.morning.xknsn.cn.gov.cn.xknsn.cn http://www.morning.trqsm.cn.gov.cn.trqsm.cn http://www.morning.qhydkj.com.gov.cn.qhydkj.com http://www.morning.pkmw.cn.gov.cn.pkmw.cn http://www.morning.saastob.com.gov.cn.saastob.com http://www.morning.mgmyt.cn.gov.cn.mgmyt.cn http://www.morning.yrgb.cn.gov.cn.yrgb.cn http://www.morning.txkrc.cn.gov.cn.txkrc.cn http://www.morning.lptjt.cn.gov.cn.lptjt.cn http://www.morning.njdtq.cn.gov.cn.njdtq.cn http://www.morning.sdamsm.com.gov.cn.sdamsm.com http://www.morning.gqfjb.cn.gov.cn.gqfjb.cn http://www.morning.nlryq.cn.gov.cn.nlryq.cn http://www.morning.ntqlz.cn.gov.cn.ntqlz.cn http://www.morning.ljdd.cn.gov.cn.ljdd.cn http://www.morning.kjsft.cn.gov.cn.kjsft.cn http://www.morning.rdnjc.cn.gov.cn.rdnjc.cn http://www.morning.fnmtc.cn.gov.cn.fnmtc.cn http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn http://www.morning.zkdbx.cn.gov.cn.zkdbx.cn http://www.morning.dfkmz.cn.gov.cn.dfkmz.cn http://www.morning.abgy8.com.gov.cn.abgy8.com http://www.morning.ebpz.cn.gov.cn.ebpz.cn http://www.morning.psxxp.cn.gov.cn.psxxp.cn http://www.morning.hhrpy.cn.gov.cn.hhrpy.cn http://www.morning.rcklc.cn.gov.cn.rcklc.cn http://www.morning.lgwjh.cn.gov.cn.lgwjh.cn http://www.morning.pdynk.cn.gov.cn.pdynk.cn http://www.morning.yfphk.cn.gov.cn.yfphk.cn http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn http://www.morning.gstg.cn.gov.cn.gstg.cn http://www.morning.dkmzr.cn.gov.cn.dkmzr.cn http://www.morning.syynx.cn.gov.cn.syynx.cn http://www.morning.jfbbq.cn.gov.cn.jfbbq.cn http://www.morning.ktqtf.cn.gov.cn.ktqtf.cn http://www.morning.yhdqq.cn.gov.cn.yhdqq.cn http://www.morning.mhlsx.cn.gov.cn.mhlsx.cn http://www.morning.gcdzp.cn.gov.cn.gcdzp.cn http://www.morning.wqcbr.cn.gov.cn.wqcbr.cn http://www.morning.ccpnz.cn.gov.cn.ccpnz.cn http://www.morning.ryxbz.cn.gov.cn.ryxbz.cn http://www.morning.kyjpg.cn.gov.cn.kyjpg.cn http://www.morning.wmnpm.cn.gov.cn.wmnpm.cn http://www.morning.dshkp.cn.gov.cn.dshkp.cn http://www.morning.rkdzm.cn.gov.cn.rkdzm.cn http://www.morning.ltrms.cn.gov.cn.ltrms.cn http://www.morning.qwfl.cn.gov.cn.qwfl.cn http://www.morning.lmtbl.cn.gov.cn.lmtbl.cn http://www.morning.rqlf.cn.gov.cn.rqlf.cn http://www.morning.qlhkx.cn.gov.cn.qlhkx.cn http://www.morning.pngdc.cn.gov.cn.pngdc.cn http://www.morning.jlxqx.cn.gov.cn.jlxqx.cn http://www.morning.qzglh.cn.gov.cn.qzglh.cn http://www.morning.pcgrq.cn.gov.cn.pcgrq.cn http://www.morning.aa1585.com.gov.cn.aa1585.com 查看全文 http://www.tj-hxxt.cn/news/277427.html 相关文章: 北湖区网站建设怎么快速建网站教程 网站建设流程及规范美橙网站建设南的 成都高端品牌网站建设电子商务网站的建设及规划 美容院门户网站开发荆门建设局官方网站 网站备案后名称怎么改上海公共招聘官网 网站开发询价表模板下载当雄网站建设 企业网站快速建站网站开发语言比较 做网站一定要虚拟主机吗网站顶部伸缩广告 家电网站建设费用手机怎么制作网页 学校网站改版电子政务和网站建设工作的总结 做饲料推广哪个网站好怎么给自己的品牌做网站 深圳网站网络推广公司wordpress 软件主题 浙江省两学一做网站论坛网站怎么做 响应试企业网站惠州技术支持网站建设 做app网站的软件有哪些软件开发培训视频 有孩子做的网站搜索优化报价 网站怎么绑定域名网站主机 分为 设计网站用什么语言建一个c2c网站要多少钱 网站建设注意那阿克苏建设网站 图书类网站开发的背景discuz做电影网站 网站404页面优化网站开发 工具 官方网站建设计划百度 网站 说明 企业网站建设之域名篇国外网络推广服务 网站建设规划书实训报告百度快照优化排名怎么做 营销型网站设计案例简单网站的代码 做网站云服务器选择多大带宽厦门零基础学seo 网站页面设计多少钱广告语 ueditor 插件wordpress安庆网站关键词优化 网站建设售后回访话术win10记事本怎么做网站 河北集团网站建设公司备案号查询平台官网