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

淘宝做网站的店怎么做同学录的网站

淘宝做网站的店,怎么做同学录的网站,江苏昨天出大事,seo每天一贴博客目录 Spring事务编程概述 基于xml声明式事务控制 事务属性 isolation timeout read-only propagation 全注解开发 Spring事务编程概述 事务是开发中必不可少的东西,使用JDBC开发时,我们使用connection对事务进行控制,使用MyBatis时&a…

目录

Spring事务编程概述

基于xml声明式事务控制

事务属性

isolation

timeout

read-only

propagation

全注解开发


Spring事务编程概述

事务是开发中必不可少的东西,使用JDBC开发时,我们使用connection对事务进行控制,使用MyBatis时,我们使用SqlSession对事务进行控制,缺点显而易见,当我们切换数据库访问技术时,事务控制的方式总会变化

 

 

基于xml声明式事务控制

结合上面学习的AOP技术,我们可以对Service的方法进行事务的增强

  • 目标类:自定义的AccountServiceImpl,内部方法是切点

  • 通知类:Spring提供的,通知方法已经定义好的,只需配置

 步骤:

        1.导入Spring事务的相关的坐标

         2.配置目标类AccountServiceImpl

         3.使用advisor标签配置切面

 (为什么用advisor标签配置切面?)

假设使用aspect的话需要一个通知类,一级配置一系列通知方法标签

而advisor只需要实现接口重写方法就可以,配置简单

<!--    包扫描  --><context:component-scan base-package="com.xfy"></context:component-scan>
<!--   JDBC.properties --><context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder><!--    整合Mybatis-->
<!--    SqlSessionFactory --><bean class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"></property></bean>
<!--    mapper --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.xfy.mapper"></property></bean>
<!--   dataSource  --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean>
<!--    配置平台事务管理器 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"></property></bean>
<!--    Spring提供好的事务增强(通知)--><tx:advice id="myadvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="*"/></tx:attributes></tx:advice>
<!--  事务增强的aop   --><aop:config>
<!--        切点  --><aop:pointcut id="transforMoney" expression="execution(void com.xfy.service.impl.AcountServiceImpl.transforMoney(..))"/><aop:advisor advice-ref="myadvice" pointcut-ref="transforMoney"></aop:advisor></aop:config>

其中有注释可以了解一下 

<!--    Spring提供好的事务增强(通知)--><tx:advice id="myadvice" transaction-manager="transactionManager"><tx:attributes>
<!--            配置事务属性  -->
<!--            name:方法名  * 通配符  ( 添加操作 addXXX  addYYY  addZZZ => add* )-->
<!--            下面·这个意味着对transforMoney方法配置独属于她的事务属性-->
<!--            从上往下匹配  匹配到就不往下 --><tx:method name="transforMoney" isolation="READ_COMMITTED" timeout="3" read-only="false" propagation="REQUIRED"/><tx:method name="*"/></tx:attributes></tx:advice>
事务属性

这个补充一下事务属性👍👍👍👍😏

isolation

timeout

超时时间,默认为-1(没有超时时间) 单位:秒(s)😊

read-only

是否只读,查询操作才只读,其他默认

propagation

事务传播行为,解决业务方法调用业务方法(事务嵌套问题)

全注解开发

@Configuration
@ComponentScan(basePackages = {"com.xfy"})
@MapperScan(basePackages = {"com.xfy.mapper"})
@PropertySource("classpath:jdbc.properties")
@EnableTransactionManagement//事务自动管理
public class SpringConfig {@Beanpublic DataSource dataSource(@Value("${jdbc.driver}") String driver,@Value("${jdbc.url}") String url,@Value("${jdbc.username}") String username,@Value("${jdbc.password}") String  password){DruidDataSource dataSource=new DruidDataSource();dataSource.setDriverClassName(driver);dataSource.setUrl(url);dataSource.setUsername(username);dataSource.setPassword(password);return  dataSource;}@Beanpublic SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource){SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();sqlSessionFactoryBean.setDataSource(dataSource);return  sqlSessionFactoryBean;}@Beanpublic DataSourceTransactionManager  transactionManager(DataSource dataSource){DataSourceTransactionManager dataSourceTransactionManager=new DataSourceTransactionManager();dataSourceTransactionManager.setDataSource(dataSource);return  dataSourceTransactionManager;}
}

http://www.yayakq.cn/news/631862/

相关文章:

  • 企业做网站公司排名口碑北京外贸营销网站建设费用
  • 厦门网站设计个人网站设计说明
  • 有品质的网站推广公司上海最出名的编程培训
  • 贵州 网站建设学历提升机构哪家好
  • 数学老师做直播的网站网站开发需求文件
  • 电子商务网站的建设费用传智ui设计培训
  • 做行业网站投资多少如何开展网络营销
  • 做网站赚钱容易吗咸阳软件开发公司
  • 网站建设选哪家软件开发最强的公司
  • 兰州网站建设优化推广莆田百度推广开户
  • ftp怎么连接网站中国制造网外贸平台
  • 前端开发是做网站的吗网站单个页面301跳转
  • 阿里云购买域名后怎么建网站优化教程网下载
  • 济南做门户网站开发公司北京网站建设最大的公司排名
  • 网站平台搭建怎么弄的优化大师手机版下载
  • 软件外包网站网站后台与前台
  • 网站访问量有什么用郑州网站运营实力乐云seo
  • 口碑好的常州网站建设好的响应式网站
  • 西安市做网站现在购物平台哪个最火
  • 58做二手车网站应该怎么推广怎么制作微信链接
  • 杭州燎远精品课程网站建设西安做网站的公司电话
  • 淘宝电子网站建设论文导航网站 php
  • 青岛怎样做网站华为商城官网手机版app
  • 泗阳县住房和建设局网站网络运营的培训
  • 做网站服务器多钱顺德乐从有做阿里巴巴的网站吗
  • 企业微网站怎么建设深圳网站优化哪家好
  • 济南网站开发哪家好网站如果建设
  • 深圳做网站公网站首页网址应该有对应的域名
  • 找天津网站建设公司做个网站多少钱培训心得网站建设
  • 厦门网站建设 孚珀科技网站域名空间代理