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

阿里网站年费怎么做分录区块链开源平台

阿里网站年费怎么做分录,区块链开源平台,顶尖文案网站,企业解决方案是什么SpringBoot之自定义Jackson反序列化日期类型转换配置类 文章目录 SpringBoot之自定义Jackson反序列化日期类型转换配置类1. SpringBoot版本2. 统一事务管理配置类3. 主启动类加入开启事务的注解 统一事务管理配置 1. SpringBoot版本 <parent><groupId>org.springfr…

SpringBoot之自定义Jackson反序列化日期类型转换配置类

文章目录

  • SpringBoot之自定义Jackson反序列化日期类型转换配置类
  • 1. SpringBoot版本
  • 2. 统一事务管理配置类
  • 3. 主启动类加入开启事务的注解

统一事务管理配置

1. SpringBoot版本

 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.5.RELEASE</version></parent>
<dependencies><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.7</version></dependency></dependencies>

2. 统一事务管理配置类

package com.yuan.webframework.config;import org.aspectj.lang.annotation.Aspect;
import org.springframework.aop.Advisor;
import org.springframework.aop.aspectj.AspectJExpressionPointcut;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.interceptor.DefaultTransactionAttribute;
import org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource;
import org.springframework.transaction.interceptor.TransactionInterceptor;/*** <p>* Description: 统一事务管理配置* </p>** @author jinshengyuan* @since 2022/8/5 16:35*/
@Aspect
@Configuration
public class TransactionManagerConfig {//切点表达式private static final String AOP_POINT_EXPRESSION = "execution(* com.zx.*.**.service.impl.*.*(..))  or execution(* org.snaker.engine..*.*(..))";@AutowiredPlatformTransactionManager transactionManager;//注入平台(Mybatis)事务管理器@Beanpublic TransactionInterceptor txAdvice(){//增删改DefaultTransactionAttribute txRequired = new DefaultTransactionAttribute();txRequired.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);txRequired.rollbackOn(new Throwable());txRequired.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);//除了指定前缀开头的以外,其他方法也支持事务DefaultTransactionAttribute txRequiredAll = new DefaultTransactionAttribute();txRequiredAll.setPropagationBehavior(TransactionDefinition.PROPAGATION_SUPPORTS);txRequiredAll.rollbackOn(new Throwable());txRequiredAll.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);//查DefaultTransactionAttribute txRequiredReadOnly = new DefaultTransactionAttribute();txRequiredReadOnly.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);txRequiredReadOnly.setReadOnly(true);NameMatchTransactionAttributeSource source = new NameMatchTransactionAttributeSource();//切入点切入以下的方法为事务方法source.addTransactionalMethod("add*",txRequired);source.addTransactionalMethod("save*",txRequired);source.addTransactionalMethod("insert*",txRequired);source.addTransactionalMethod("update*",txRequired);source.addTransactionalMethod("modify*",txRequired);source.addTransactionalMethod("delete*",txRequired);source.addTransactionalMethod("change*",txRequired);source.addTransactionalMethod("move*",txRequired);source.addTransactionalMethod("remove*",txRequired);source.addTransactionalMethod("submit*",txRequired);source.addTransactionalMethod("distribute*",txRequired);source.addTransactionalMethod("cancel*",txRequired);source.addTransactionalMethod("batch*",txRequired);source.addTransactionalMethod("sync*",txRequired);source.addTransactionalMethod("set*",txRequired);source.addTransactionalMethod("*",txRequiredAll);//切入点切入的以下的方法为只读事务方法source.addTransactionalMethod("get*",txRequiredReadOnly);source.addTransactionalMethod("query*",txRequiredReadOnly);source.addTransactionalMethod("select*",txRequiredReadOnly);source.addTransactionalMethod("count*",txRequiredReadOnly);source.addTransactionalMethod("find*",txRequiredReadOnly);source.addTransactionalMethod("search*",txRequiredReadOnly);source.addTransactionalMethod("is*",txRequiredReadOnly);return  new TransactionInterceptor(transactionManager,source);}//事务切入点@Beanpublic Advisor txAdviceAdvisor(){AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();pointcut.setExpression(AOP_POINT_EXPRESSION);return new DefaultPointcutAdvisor(pointcut,txAdvice());}}

3. 主启动类加入开启事务的注解

如主启动类中加入@EnableTransactionManagement注解,如下

package com.yuan;import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.transaction.annotation.EnableTransactionManagement;@Slf4j
@EnableTransactionManagement
@SpringBootApplication
public class MyApplication {public static void main(String[] args) throws UnknownHostException {SpringApplication.run(MyApplication.class, args);}
}
http://www.hyszgw.com/news/37546.html

相关文章:

  • 电商网站 手续云建站的步骤
  • 新手如何建立网站可信网站认证有什么用
  • 兰州网站建设与优化推广一个公司做两个网站的好处
  • 怎么做全民夺宝网站玉田网站制作
  • wordpress网站导航子菜单网站动态图标
  • 怎么才能在百度搜到自己的网站大连企业制作网站
  • 平面设计属于什么专业seo的基础是什么
  • 公司网站域名解析谁来做wordpress个人博客下载
  • 西安自助建站海口公司网站建设
  • 国家电网交流建设分公司网站做外贸从哪些网站获取客户
  • 网站建设培训东莞市湛江市建设局网站
  • 东城响应式网站建设电子商务平台开发内容
  • 北京网站关键词优化那家网站建设公司好
  • 可以用自己电脑做网站服务器吗网络管理系统有哪几部分组成
  • wordpress使用相对路径重庆seo排
  • 小程序开发者青岛seo整站优化招商电话
  • 个人未授权做的网站哈尔滨建筑
  • 网站建设项目需求书南昌网站设计哪家专业好
  • 网站备案期间做什么wordpress不能上传
  • 周口河南网站建设免费制作网站的步骤 怎样做网站
  • 房地产项目网站建设方案石家庄门户网站建设
  • 美食健康网站的建设汕头市企业网站建设服务机构
  • 巢湖网站设计长沙网页设计培训价格
  • seo网站模板下载莱芜在线论坛话题牛泉镇
  • 网站欢迎页面怎么做关于写策划的一个网站
  • 深圳做网站的公司有哪些婚纱网站建设目的
  • wordpress防止f12保定网站排名优化
  • 长沙网站建设价格企业建设网站的价值
  • 大淘客可以做几个网站外贸网站建设服务器
  • 网站建设流程多少钱建设娱乐城网站