当前位置: 首页 > news >正文

临沂做网站推广的公司哪家好怎么搭建购物网站

临沂做网站推广的公司哪家好,怎么搭建购物网站,个人业务网站带后台,建设网站的个人心得体会Spring Boot 事务管理 一、Spring Boot中的事务管理1.声明式事务管理Transactional注解基本使用配置选项 2.编程式事务管理TransactionTemplatePlatformTransactionManager 二、Transactional注解深入1.基本使用基本属性 2.传播行为3.隔离级别4.事务超时设置5.回滚规则 三、事务… Spring Boot 事务管理 一、Spring Boot中的事务管理1.声明式事务管理Transactional注解基本使用配置选项 2.编程式事务管理TransactionTemplatePlatformTransactionManager 二、Transactional注解深入1.基本使用基本属性 2.传播行为3.隔离级别4.事务超时设置5.回滚规则 三、事务管理的最佳实践1.事务边界的确定2.只读事务的使用3.避免编程式事务 一、Spring Boot中的事务管理 1.声明式事务管理 Transactional注解 Spring最常用的事务管理方式是声明式事务管理主要通过Transactional注解实现。这种方式的优点在于简单易用通过将注解添加到类或方法上开发者可以轻松地控制事务的边界而无需直接与底层的事务管理API打交道。 基本使用 在方法级别上使用Transactional注解可以确保该方法内的所有操作要么全部成功要么在遇到异常时全部回滚。 import org.springframework.transaction.annotation.Transactional;Transactional public void updateUserData(User user) {// 这里的数据库操作会在一个事务中执行 }配置选项 Transactional注解提供了多种配置选项包括事务的传播行为、隔离级别、超时设置等。 2.编程式事务管理 使用TransactionTemplate或直接使用PlatformTransactionManager可以在代码中精确控制事务的边界。 TransactionTemplate import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.support.TransactionTemplate;public class UserService {Autowiredprivate TransactionTemplate transactionTemplate;public User createUser(final User user) {return transactionTemplate.execute(status - {// 这里的操作会在一个事务中执行return userRepository.save(user);});} }PlatformTransactionManager 对于需要完全控制事务行为的场景Spring还允许直接使用PlatformTransactionManager。 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.DefaultTransactionDefinition;public class UserServiceImpl implements UserService {Autowiredprivate PlatformTransactionManager transactionManager;public void updateUser(User user) {TransactionStatus status transactionManager.getTransaction(new DefaultTransactionDefinition());try {// 这里的操作会在一个事务中执行userRepository.update(user);transactionManager.commit(status);} catch (Exception e) {transactionManager.rollback(status);throw e;}} }二、Transactional注解深入 1.基本使用 Transactional注解可以应用于类或方法级别。当应用于类级别时该类中的所有公共方法都会被应用事务管理。当应用于方法级别时只有标注了该注解的方法才会进行事务管理。 基本属性 readOnly: 指定事务是否为只读事务。只读事务可以帮助数据库引擎优化事务。propagation: 指定事务的传播行为。isolation: 指定事务的隔离级别。timeout: 定义事务的超时限制以秒为单位。rollbackFor: 指定哪些异常可以触发事务回滚。noRollbackFor: 指定哪些异常不应触发事务回滚。 2.传播行为 事务的传播行为定义了事务边界的创建方式。Spring定义了多种传播行为 REQUIRED: 如果当前存在事务则加入该事务如果当前没有事务则创建一个新的事务。SUPPORTS: 如果当前存在事务则加入该事务如果当前没有事务则以非事务方式执行。MANDATORY: 如果当前存在事务则加入该事务如果当前没有事务则抛出异常。REQUIRES_NEW: 总是创建一个新的事务如果当前存在事务则挂起当前事务。NOT_SUPPORTED: 总是以非事务方式执行如果当前存在事务则挂起当前事务。NEVER: 总是以非事务方式执行如果当前存在事务则抛出异常。NESTED: 如果当前存在事务则在嵌套事务内执行。如果当前没有事务则表现同REQUIRED。 3.隔离级别 隔离级别定义了一个事务可能受其他并发事务影响的程度。Spring支持以下隔离级别 DEFAULT: 使用底层数据源的默认隔离级别。READ_UNCOMMITTED: 允许读取未提交的更改。READ_COMMITTED: 仅允许读取已提交的更改。REPEATABLE_READ: 确保在事务内重复读取同一记录的结果一致。SERIALIZABLE: 完全隔离确保事务串行化执行。 4.事务超时设置 通过Transactional注解的timeout属性可以为事务指定超时时间。如果事务执行时间超过了指定的时间限制Spring将自动回滚事务。 5.回滚规则 通过Transactional注解的rollbackFor和noRollbackFor属性可以精确控制异常回滚行为 rollbackFor: 指定哪些异常应该触发事务回滚。noRollbackFor: 指定哪些异常不应该触发事务回滚。 三、事务管理的最佳实践 1.事务边界的确定 事务边界定义了事务的开始和结束合理的事务边界可以确保事务既不过大也不过小。 定义清晰的业务逻辑单元每个事务应该对应一个清晰定义的业务逻辑单元。不应该让一个事务覆盖多个不相关的操作。避免长事务长事务会占用数据库资源增加锁定的范围和时间从而影响并发性能。尽量避免不必要的长事务及时提交或回滚。事务中的操作数量虽然理论上事务可以包含任意数量的操作但是在实践中应该避免在单一事务中包含过多的操作。如果业务逻辑允许可以将一个大事务分解为几个小事务以提高并发性和系统稳定性。 2.只读事务的使用 只读事务是指不包含任何修改插入、更新、删除操作的事务。只读事务的使用有以下好处 性能优化数据库可以对只读事务进行优化如减少锁的使用提升查询性能。减少副作用标记为只读的事务明确告诉数据库和应用程序这个事务不会修改数据有助于避免由于错误的数据修改导致的问题。 何时使用只读事务 数据查询操作当事务仅包含数据查询操作不涉及任何数据修改时应将事务标记为只读。报表生成生成报表或执行大量查询以分析数据时使用只读事务可以提高效率。 3.避免编程式事务 尽管Spring提供了编程式事务管理的能力但在大多数情况下推荐使用声明式事务管理Transactional注解原因如下 简化开发声明式事务管理通过注解的方式减少了编程的复杂度使得事务管理更加直观和易于理解。减少代码侵入性使用声明式事务管理事务代码与业务代码分离降低了代码的耦合度提高了代码的可读性和可维护性。统一事务管理声明式事务管理提供了一种统一的事务管理机制使得事务管理更加标准化易于跟踪和维护。
http://www.hkea.cn/news/14430416/

相关文章:

  • 国内net开发的网站建设企业网站的宣传功能体现在哪里
  • 兼职网站开发需求北京网站建设技术
  • 61制作工厂网站郑州seo技术代理
  • 动易企业网站私人做网站需要多少钱
  • 网站开发费用国家标准建设品牌公司网站
  • html5响应式网站源码安庆市住房和建设厅网站首页
  • 有的域名怎样做网站wordpress修改底部联系QQ
  • 怎么建网站青州问枫网站改版 理论
  • 刚做网站和搜出来的不一样注册网站邮箱格式怎么写
  • 手机可以搭建网站吗wordpress酒店
  • 如何查找网站的死链接建手机网站一年费用
  • 行业协会网站建设方案网站设计与建设的
  • 深圳企业做网站公司有哪些建筑工程造价网
  • 网站做标签阿里云建站售前咨询
  • 效果图网站模板123网页浏览器
  • 做网站项目的心得网站建设插件代码大全
  • 郑州企业网站如何建设红河优才网站建设
  • 网站百度收录秒收方法seo实战培训课程
  • 网站建设有什么优势网站优化的论文
  • 2023年php凉透了关键词优化推广排名
  • 营销网站占用多少m空间个人网站建设法律规定
  • 短视频网站的动画是怎么做的北京赛车网站开发多少钱
  • 网站的更新与维护wordpress阿里云建站
  • 可以做图的网站跑腿网站建设
  • 获取网站物理路径番禺网站开发哪家好
  • 重庆手机微信网站建设建站行业有前途
  • 网站建设与维护百科电脑做网站服务器WIN7 买个域名
  • 重庆网站建设必选承越wordpress之家
  • 上手机淘宝网站建设服务器搭建vps教程
  • 番禺制作网站企业网址设计公司