最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在SSM中配置了事務(wù)控制但沒生效的問題

 更新時(shí)間:2022年02月26日 14:28:24   作者:farAndgofar  
這篇文章主要介紹了在SSM中配置了事務(wù)控制但沒生效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SSM配置了事務(wù)控制但沒生效

今天在使用ssm事務(wù)時(shí),發(fā)現(xiàn)方法報(bào)錯(cuò),事務(wù)沒有回滾,弄了半天,終于解決,下面記錄一下 ,本人是使用編程式事務(wù),即使用配置文件 的方式。

包結(jié)構(gòu),下面是springmvc.xml配置文件

spring配置文件:applicationContext.xml

首先我們明確spring進(jìn)行掃描注入時(shí),因?yàn)閟pring的context是父子容器,ContextLoaderListener監(jiān)聽器加載spring配置文件,產(chǎn)生的是父容器,mvc加載mvc的配置文件,產(chǎn)生了子容器,子容器對(duì)@Controller進(jìn)行裝配掃描時(shí),也裝配了@Service注解的實(shí)例,因?yàn)锧Contoller實(shí)例依賴@Service實(shí)例,當(dāng)子容器中有了@Service實(shí)例,我們使用B/S或C/S時(shí)對(duì)數(shù)據(jù)庫進(jìn)行操作時(shí),如果子容器中有@Service實(shí)例,則mvc優(yōu)先使用自身即子容器中的@Service實(shí)例,但是@Service注解的實(shí)例,也就是一般的事務(wù)控制層,應(yīng)該是由父容器初始化,以保證事務(wù)的增強(qiáng)處理,否則會(huì)失去事務(wù)處理能力。

因此我們要保證子容器中沒有@Service注解的實(shí)例

我的錯(cuò)誤之處

因此也就有了上面的兩個(gè)掃描,但我的springmvc.xml配置文件是有問題的,我沒有明白 context:include-filter的含義。

通俗點(diǎn)講:

  • context:exclude-filter是設(shè)置黑名單。比如手機(jī)黑名單,在黑名單中的人是無法打進(jìn)電話的。
  • context:include-filter是設(shè)置白名單。在手機(jī)白名單中的號(hào)碼可以打進(jìn)來,不在白名單也不在黑名單中的也可以打進(jìn)來。 所以需要針對(duì)白名單過濾進(jìn)行設(shè)置,把默認(rèn)的過濾器關(guān)閉,即使用use-default-filters=“false”;然后他就僅僅掃描指定注解了。

這樣就可以了,當(dāng)然由于我的@Contoller注解的實(shí)例 都在com.djw.controller包中,我也可以如下做

SSM事務(wù)配置不起作用,不回滾的幾個(gè)原因

我是小白一枚,之前事務(wù)沒學(xué)好,所以做項(xiàng)目的時(shí)候沒怎么好好研究,現(xiàn)在項(xiàng)目快做完了,要把事務(wù)加進(jìn)去,卻老是不起效果,后來終于配(抄)好了

總結(jié)幾點(diǎn)我事務(wù)配置失敗的原因

1.@Transactional在使用這個(gè)注解的時(shí)候,我就是直接在類上面加上這個(gè)注解,后來發(fā)現(xiàn)還少了一點(diǎn)東西,應(yīng)該這樣寫@Transactional(rollbackFor = Exception.class)

2.<context:component-scan base-package="com.service" />

注解掃描component-scan放錯(cuò)了地方,之前是放在spring-mvc里面,后來看到別人的博客說是要放在spring-mybatis里面,于是我就放過去,可是還是沒用        后來發(fā)現(xiàn),原來是spring-mvc里面還有一個(gè)注解掃描component-scan,然后把這個(gè)刪了,注解完美生效

下面是基本使用的代碼

spring-mybatis:

? ? <!-- 配置事務(wù)管理器 -->
? ? <bean id="transactionManager"
? ? ? ? class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
? ? ? ? <property name="dataSource" ref="dataSource" />
? ? </bean>
?
?? ?<context:component-scan base-package="com.service" />
? ? <!-- 注解方式配置事務(wù) -->
? ? <tx:annotation-driven transaction-manager="transactionManager" />

serviceImpl:

@Service
@Transactional(rollbackFor = Exception.class)
public class TestServiceImpl implements ITestService {?
?? ?@Override
?? ?public void del(int id) throws Exception {
?? ??? ?address.delete(aid);
?? ??? ?int i=1/0;
?? ?}
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java操作cookie示例(刪除cookie)

    java操作cookie示例(刪除cookie)

    這篇文章主要介紹了java操作cookie示例,包括設(shè)置Cookie、讀取Cookie、刪除Cookie,需要的朋友可以參考下
    2014-02-02
  • idea中導(dǎo)入別人的springboot項(xiàng)目的方法(圖文)

    idea中導(dǎo)入別人的springboot項(xiàng)目的方法(圖文)

    這篇文章主要介紹了idea中導(dǎo)入別人的springboot項(xiàng)目的方法(圖文),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot使用Redis方式

    SpringBoot使用Redis方式

    文章介紹了SpringDataRedis操作本地Redis數(shù)據(jù)庫的方法,包括Redis的基本概念、數(shù)據(jù)類型、命令以及在Java中的使用
    2024-11-11
  • Java switch多值匹配操作詳解

    Java switch多值匹配操作詳解

    這篇文章主要介紹了Java switch多值匹配操作詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 使用Javacsv.jar的jar包操作csv文件的方法

    使用Javacsv.jar的jar包操作csv文件的方法

    使用javacsv的jar包很方便的可以操作csv文件。下面通過本教程給大家介紹使用javacsv.jar操作csv文件的方法,感興趣的朋友一起看下吧
    2016-08-08
  • Java字符編碼簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java字符編碼簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java字符編碼簡介,本文主要包括以下幾個(gè)方面:編碼基本知識(shí),Java,系統(tǒng)軟件,url,工具軟件等,感興趣的朋友一起看看吧
    2017-08-08
  • SpringBoot版本升級(jí)容易遇到的一些問題

    SpringBoot版本升級(jí)容易遇到的一些問題

    由于項(xiàng)目需求,需要將nacos 1.4.6版本升級(jí)到2.x版本,由此引發(fā)的springboot、springcloud、springcloud Alibaba一系列版本變更,本文給大家總結(jié)一下SpringBoot版本升級(jí)容易遇到的一些問題,需要的朋友可以參考下
    2023-12-12
  • Windows下RabbitMQ安裝及配置詳解

    Windows下RabbitMQ安裝及配置詳解

    本文主要介紹了Windows下RabbitMQ安裝及配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • SpringBoot整合EasyExcel實(shí)現(xiàn)文件導(dǎo)入導(dǎo)出

    SpringBoot整合EasyExcel實(shí)現(xiàn)文件導(dǎo)入導(dǎo)出

    這篇文章主要介紹了SpringBoot整合EasyExcel實(shí)現(xiàn)文件導(dǎo)入導(dǎo)出的方法,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下
    2021-05-05
  • java序列化與反序列化操作實(shí)例分析

    java序列化與反序列化操作實(shí)例分析

    這篇文章主要介紹了java序列化與反序列化操作,結(jié)合實(shí)例形式分析了java序列化與反序列化的概念與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-10-10

最新評(píng)論

巢湖市| 神农架林区| 筠连县| 岐山县| 武川县| 城步| 漾濞| 甘孜县| 九龙坡区| 关岭| 丽江市| 怀仁县| 祥云县| 碌曲县| 洛川县| 巴青县| 时尚| 贺州市| 西藏| 绥棱县| 永春县| 久治县| 葵青区| 隆尧县| 太仓市| 全椒县| 肥东县| 从化市| 三门峡市| 安岳县| 南华县| 大方县| 汕头市| 安义县| 上蔡县| 长兴县| 吉林市| 民丰县| 华容县| 成安县| 定西市|