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

个人作品集网站模板免费下载企顺网网站建设

个人作品集网站模板免费下载,企顺网网站建设,标书制作难吗,网站的线下推广怎么做在Spring Boot中#xff0c;事务的管理通常通过注解来实现#xff0c;使得配置变得简单而直观。这种方式与Spring Boot的设计理念一致#xff0c;即减少显式配置#xff0c;增加自动配置。以下是如何在Spring Boot项目中应用和管理事务的详细说明#xff1a; Spring Boot中…在Spring Boot中事务的管理通常通过注解来实现使得配置变得简单而直观。这种方式与Spring Boot的设计理念一致即减少显式配置增加自动配置。以下是如何在Spring Boot项目中应用和管理事务的详细说明 Spring Boot中的事务管理 Spring Boot事务基础 Spring Boot沿用了Spring的事务管理概念但在配置和使用上更为简化主要依赖于注解来管理事务。 1.1. Spring Boot事务特性 与传统的Spring事务管理相同Spring Boot事务也遵循ACID原则 原子性Atomicity 一致性Consistency 隔离性Isolation 持久性Durability 1.2. 事务的隔离级别和传播行为 Spring Boot支持相同的事务隔离级别和传播行为如 隔离级别READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ、SERIALIZABLE。 传播行为REQUIRED、REQUIRES_NEW、SUPPORTS等。 Spring Boot中的声明式事务 2.1. 开启事务支持 在Spring Boot中通常通过添加EnableTransactionManagement注解在配置类上启用事务管理但在Spring Boot中这通常是不必要的因为Spring Boot的自动配置已经包含了事务管理的支持。 2.2. 使用Transactional注解 Transactional这是控制事务的主要注解。它可以应用于类或方法上。当应用于类上时该类的所有公共方法将成为事务方法。 属性配置可以配置如下属性 propagation定义事务的传播行为。 isolation定义事务的隔离级别。 timeout定义事务的超时时间。 readOnly标记事务是否为只读。 rollbackFor定义哪些异常类型会触发事务回滚。 noRollbackFor定义哪些异常类型不会触发事务回滚。 示例代码 3.1. Service层事务应用 Service public class UserServiceImpl implements UserService {Transactional(rollbackFor Exception.class)public void createUser(User user) {// 方法实现}Transactional(readOnly true)public User getUserById(Long id) {// 方法实现} } 在这个例子中createUser方法上的Transactional注解指定了在发生任何Exception时回滚事务。而getUserById方法则是一个只读事务这对于提高查询操作的效率是有帮助的。 3.2. 自定义事务管理器 如果您需要自定义事务管理器可以在配置类中定义 Configuration public class TransactionConfig {Beanpublic PlatformTransactionManager transactionManager(DataSource dataSource) {return new DataSourceTransactionManager(dataSource);} } 在大多数情况下您不需要这样做因为Spring Boot会为您自动配置事务管理器。 事务不生效的情况 同样地在Spring Boot中如果在同一个类中一个没有使用事务的方法调用了一个使用了事务的方法事务是不会生效的。这是因为事务的应用需要通过代理来实现而直接的方法调用不会经过代理。 此外对于声明式事务Spring默认只对运行时异常进行回滚。如果需要对检查型异常进行回滚可以通过Transactional注解的rollbackFor属性来指定。 以上就是在Spring Boot项目中关于事务管理的主要内容。Spring Boot使得事务管理变得更加 简单减少了大量的配置工作同时保留了Spring事务管理的灵活性和强大功能。 传播行为 传播行为是指在事务环境中方法之间相互调用时事务如何传播。例如当一个事务方法被另一个事务方法调用时是否要加入已存在的事务或者创建一个新的事务等。 在Spring和Spring Boot中有几种不同的传播行为例如REQUIRED如果当前存在事务就加入该事务如果没有则创建一个新的事务和REQUIRES_NEW总是创建一个新的事务等。了解和合理使用这些传播行为对于设计正确的事务策略是非常重要的。 this. 调用和事务失效问题 在Spring和Spring Boot中事务是通过AOP代理实现的。当在同一个类中一个非事务方法内部调用了一个事务方法时这种this.的调用方式将直接调用方法而不会通过代理导致事务处理失效。 解决这个问题的一种方法是使用Spring的自我注入。即在类内部使用Autowired或Resource将自己注入进来然后通过这个注入的实例调用事务方法以确保通过代理 Service public class MyService {Autowiredprivate MyService myService; // 自我注入public void nonTransactionalMethod() {myService.transactionalMethod(); // 通过代理调用}Transactionalpublic void transactionalMethod() {// 事务处理} }抛出非运行时异常导致的事务不回滚 在Spring的声明式事务管理中默认情况下只有在抛出运行时异常继承自RuntimeException和错误Error时事务才会回滚。如果需要让检查型异常即非运行时异常如SQLException也触发事务回滚可以通过Transactional注解的rollbackFor属性来实现 Transactional(rollbackFor Exception.class) public void someTransactionalMethod() {// 业务逻辑 } 在这里将rollbackFor属性设置为Exception.class意味着所有类型的异常包括非运行时异常都会触发事务回滚。
http://www.dnsts.com.cn/news/40180.html

相关文章:

  • 贵州建设厅网站在建工程查询敦煌网跨境电商怎么样
  • 系统的php网站建设公司网站建设维护及使用管理办法
  • 打代码怎么做网站哈尔滨快速建站点击查看
  • 网站的域名能换吗外贸网络推广方法
  • 网站安全建设方案需求分析WordPress15元主题
  • 购物网站建设网页推广wordpress备份到邮箱
  • 男女做那事是什 网站黑马大数据培训
  • 注册公司登录什么网站遵义做百度网站一年多少钱
  • 本地php网站搭建想要推广网页正式版
  • 国企网站建设需要注意wordpress不显示category
  • 柳州做网站有kvwordpress稳定版
  • windows 没有wordpress杭州seo价格
  • 寮步网站建设哪家好对网站建设心得
  • 如何建设购物网站天津地区网站建设
  • wordpress网站微擎pc网站开发
  • 网站的logo怎么上传前端注册wordpress
  • 郑州做网站公司 汉狮网络重庆景点排行榜前十名
  • 企业建立网站需要什么条件广州南沙发布
  • 装饰网站建设策划书网站百度不收录了
  • 建立一个网站商城需要多久时间seo培训师
  • 网站页面构成要素wordpress 手机无菜单
  • 开通网站申请好123上网从这里开始
  • 上海网站建设咨询个人可以做建站网站么
  • 公交车网站怎么做留言板厚街做网站
  • 大连制作网站公司金融软件外包公司
  • 西安市规划建设局网站松原做网站公司
  • 青岛网站建设 熊掌号公司宣传册设计制作
  • 亿唐为什么2005年做虚拟网站网站设计制作步骤
  • 网站建设织梦怎么样火车头自动上传wordpress
  • 泰安市违法建设网站ps网站子页怎么做的