忍者ブログ
まにょのITメモ
[56]  [55]  [54]  [53]  [52]  [51]  [50]  [49]  [48]  [47]  [46
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

■applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:aop="http://www.springframework.org/schema/aop"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
  xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://www.directwebremoting.org/schema/spring-dwr
    http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
    http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">


    <!-- ====================================================== -->
    <!--                    データソースの設定                                                            -->
    <!-- ====================================================== -->
    <bean id="dataSource"
        class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            <value>jdbc:mysql://XXX.XXX.XXX.XXX/DBName</value>
        </property>
        <property name="username">
            <value>XXXXX</value>
        </property>
        <property name="password">
            <value>XXXXX</value>
        </property>
    </bean>


    <!-- ====================================================== -->
    <!--                    セッションファクトリーの設定                                            -->
    <!-- ====================================================== -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <property name="mappingResources">
            <value>
                jp/co/nadeshiko/model/User.hbm.xml
                ,jp/co/nadeshiko/model/Commodity.hbm.xml
                ,jp/co/nadeshiko/model/TempUser.hbm.xml
                ,jp/co/nadeshiko/model/AnnoDomini.hbm.xml
            </value>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    org.hibernate.dialect.MySQLDialect
                </prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>

    <!-- ====================================================== -->
    <!--                       トランザクション設定                                                  -->
    <!-- ====================================================== -->
    <tx:advice id="nadeshikoAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
            <tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
            <tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
            <tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
            <tx:method name="select*" propagation="REQUIRED" rollback-for="java.lang.Exception" read-only="true"/>
            <tx:method name="get*" propagation="REQUIRED" rollback-for="java.lang.Exception" read-only="true"/>
        </tx:attributes>
    </tx:advice>

    <aop:config>
        <aop:pointcut id="nadeshikoPointcut" expression="execution(* jp.co.nadeshiko.service.*Service+.*(..))"/>
        <aop:advisor advice-ref="nadeshikoAdvice" pointcut-ref="nadeshikoPointcut" />
    </aop:config>

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>


※トランザクションの対象設定方法
■■execution(* XX)■■
※XXに適用するメソッドのパターンを記述
 指定したメソッドの呼び出しに対して適用するポイントカット

 execution(* jp.co.sample.aop.SampleBean.*(..))
※jp.co.sample.aop.SampleBeanクラスのすべてのpublicメソッドに適用
execution(* jp.co.sample.aop.*.*(..))
※jp.co.sample.aopパッケージのすべてのpublicメソッドに適用
execution(* jp.co.sample..*.*(..))
※jp.co.sampleパッケージおよびサブパッケージで定義されたすべてのpublicメソッドに適用

 

■■within(XX)■■
※XXに適用するクラスのパターンを記述
 指定したクラスで定義されたメソッドに対する
呼び出しに適用するポイントカット
(サブクラスやスーパークラスでの呼び出しには適用しない)
within(jp.co.sample.aop.SampleBean)
※SampleBeanクラスおよびサブクラスで定義されたメソッドに対する呼び出しに適用

 

■■target(XX)■■
※XXに適用するクラスのパターンを記述
 指定したクラスおよびサブクラスから、
呼び出すメソッドに適用するポイントカット
 target(jp.co.sample.aop.SampleBean)
※SampleBeanクラスおよびサブクラスから呼び出すメソッドに適用

 

■■args(XX)■■

※XXに適用するメソッドシグネチャパターンを記述
 呼び出し先のメソッドの引数の型が一致するメソッドに
適用するポイントカット args(java.lang.String)

※Stringパラメータを1つ取るメソッドにAspectを適用

 

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
この記事のURL:
忍者ブログ * [PR]