目次 > 第2章 Server(Web)版チュートリアル >  2.6 登録処理 > 2.6.7 トランザクションの設定確認

2.6.7 トランザクションの設定確認

Server(Web)版では、トランザクション管理を宣言的トランザクション(AOP)を利用している。ブランクプロジェクトのデフォルト設定では、DAOに対してトランザクションを管理している。

手順

本項では以下の作業が必要になる。

(1) アプリケーション共通のSpring設定ファイルの確認

DAOに対するトランザクション管理設定は、アプリケーション共通のSpring設定ファイルに設定する。

  1. “terasoluna-spring-thin-blank\webapps\WEB-INF\applicationContext.xml”を開き、以下の設定がされていることを確認する。
    ・・・略・・・
    <!-- ======================================== トランザクション・AOP定義 -->
    
      ・・・略・・・
    
      <!-- トランザクションインタセプタの定義 -->
      <!-- 
        トランザクションを設定するメソッドと実行モードを定義する。
        transaction-manager="transactionManager" の設定は省略可能。
      -->
      <tx:advice id="transactionInterceptor" >
        <tx:attributes>
          <tx:method name="execute*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
        </tx:attributes>
      </tx:advice>
    
      <!-- AOPの定義 -->
      <!-- 
        下記で指定したパターンのBeanに対してインタセプタを適用する。
        applicationContext.xmlで定義されたBeanのみ対象となるので注意すること。
       -->
      <aop:config>
        <aop:pointcut id="daoBeans" expression="bean(*DAO)"/>
        <aop:advisor pointcut-ref="daoBeans" 
                     advice-ref="transactionInterceptor"/>
      </aop:config>
    
    ・・・略・・・
    

ここで、AOPでトランザクションをかける対象とするBeanのBean定義IDを指定する。上記の設定では、Bean定義IDの接尾辞が「DAO」のBeanに対して適用している。


次項:2.6.8 動作確認

Copyright (C) 2009 NTT DATA CORPORATION