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

上海人才服务中心官网灰色seo推广

上海人才服务中心官网,灰色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.tj-hxxt.cn/news/38051.html

相关文章:

  • 制作网架厂家郑州优化公司有哪些
  • 东莞新媒体运营郑州seo顾问外包公司
  • 地产公司做网站维护写代码么6泾县网站seo优化排名
  • 织梦如何做中英文网站广州google推广
  • 香港头条新闻seo网站优化推广
  • 响应式网站源码.net重庆seo排名
  • 政府门户网站建设多元化国内seo公司哪家最好
  • 国外设计网站导航seo模拟点击软件源码
  • 同个网站可以做多个外链吗2023年5月份病毒感染情况
  • 专业做曝光引流网站福州网站建设
  • 网站建设中的咨询服务著名的网络营销案例
  • 湘潭做网站 去磐石网络百度seo优化多少钱
  • go 做视频网站重庆官网seo分析
  • 做网站买主机还是服务器谈谈你对seo概念的理解
  • 楚雄网站开发万网域名注册查询
  • 民治做网站推广赚钱的app
  • 公司网站建设的重要性seo一个月工资一般多少
  • html做分模块的网站seo站长工具下载
  • 宁波小网站制作推广快速排名seo
  • 深圳建设网站哪里好百度搜题
  • 地产项目网站免费模板素材网站
  • 教育网站官网入口seo高端培训
  • 怎么自己做blog网站杭州百度首页优化
  • 免费做网站推荐哔哩哔哩b站在线看免费
  • 网站建设 推神网络谷歌推广费用
  • 什么网站可以做直播seo收费低
  • jsp网站开发需要哪些技术武汉网站推广公司排名
  • 渭南做网站都有哪些网络营销课程设计
  • 做网站推广的工资中国网新山东
  • 网站制作开发的步骤和方法太原seo哪家好