亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

spring配置文件:applicationContext.xml

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

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

我的錯誤之處

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

通俗點講:

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

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

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

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

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

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

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

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

下面是基本使用的代碼

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;
?? ?}
}

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

相關(guān)文章

  • 解決idea不顯示Services工具欄的問題

    解決idea不顯示Services工具欄的問題

    這篇文章主要介紹了解決idea不顯示Services工具欄的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Springboot錯誤處理機制實現(xiàn)原理解析

    Springboot錯誤處理機制實現(xiàn)原理解析

    這篇文章主要介紹了springboot錯誤處理機制實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • springboot layui hutool Excel導(dǎo)入的實現(xiàn)

    springboot layui hutool Excel導(dǎo)入的實現(xiàn)

    本文主要介紹了springboot layui hutool Excel導(dǎo)入的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • 基于SSM框架之個人相冊示例代碼

    基于SSM框架之個人相冊示例代碼

    本篇文章主要介紹了基于SSM框架之個人相冊示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Eclipse內(nèi)置瀏覽器打開方法

    Eclipse內(nèi)置瀏覽器打開方法

    這篇文章主要介紹了Eclipse內(nèi)置瀏覽器打開方法,需要的朋友可以了解下。
    2017-09-09
  • Java Volatile關(guān)鍵字同步機制詳解

    Java Volatile關(guān)鍵字同步機制詳解

    這篇文章主要介紹了Java Volatile關(guān)鍵字同步機制詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 基于Java實現(xiàn)進制轉(zhuǎn)換工具類的示例代碼

    基于Java實現(xiàn)進制轉(zhuǎn)換工具類的示例代碼

    這篇文章主要為大家詳細介紹了如何基于Java實現(xiàn)進制轉(zhuǎn)換工具類,從而實現(xiàn)減少參數(shù)長度的效果,文中的示例代碼講解詳細,需要的可以參考一下
    2023-02-02
  • SpringBoot中集成Swagger2及簡單實用

    SpringBoot中集成Swagger2及簡單實用

    使用Swagger你只需要按照它的規(guī)范去定義接口及接口相關(guān)的信息,再通過Swagger衍生出來的一系列項目和工具,就可以做到生成各種格式的接口文檔,以及在線接口調(diào)試頁面等等,這篇文章主要介紹了SpringBoot中集成Swagger2,需要的朋友可以參考下
    2023-06-06
  • Java的包裝類特性總結(jié)

    Java的包裝類特性總結(jié)

    這篇文章主要介紹Java的包裝類的一些特性,包裝類的作用,哪些類屬于包裝類等,文中有詳細的代碼示例,對我們的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-05-05
  • 解決Lombok使用@Builder無法build父類屬性的問題

    解決Lombok使用@Builder無法build父類屬性的問題

    這篇文章主要介紹了解決Lombok使用@Builder無法build父類屬性的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論