沉睡森林@漂在北京

          本處文章除注明“轉載”外均為原創,轉載請注明出處。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            152 隨筆 :: 4 文章 :: 114 評論 :: 0 Trackbacks

          今天對以前寫的東西進行了部分整理,發現利用spring2.5的注釋事物控制,好像只有一次成功過,那次使用的是JdbcTemplate。但是后來利用hibernate或者ibatis都沒有成功,今天整理了很長時間,還是沒有配置好。下面是寫的一些xml文件,個人感覺應該沒有什么問題了,疑惑。

           

              <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

                 destroy-method="close">

                 <property name="driverClassName" value="com.mysql.jdbc.Driver" />

                 <property name="url" value="jdbc:mysql://localhost/greatwall" />

                 <property name="username" value="root" />

                 <property name="password" value="sa" />

              </bean>

             

              <!-- ibatis sqlMapClient config -->

              <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

                 <property name="configLocation">

                     <value>classpath:sql\sql-map-config.xml</value>

                 </property>

                 <property name="dataSource">

                     <ref bean="dataSource" />

                 </property>

              </bean>

             

              <bean id="transactionManager"

                 class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

                 <property name="dataSource" ref="dataSource" />

              </bean>

             

              <tx:advice id="txAdvice" transaction-manager="transactionManager">

                 <tx:attributes> 

                   <!-- all methods starting with 'get' are read-only

                     <tx:method name="select*" read-only="true" />  -->

                   <!-- other methods use the default transaction settings (see below) -->

                     <tx:method name="*" />

                 </tx:attributes>

              </tx:advice>

             

              <aop:aspectj-autoproxy /> 

              <aop:config proxy-target-class="true" />

                <!--

              <aop:config proxy-target-class="true" >

                 <aop:pointcut id="fooServiceOperation" expression="execution(* com.example.service.ICustomerService.*(..))" />

                 <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation" />

              </aop:config>

              -->

             

              <aop:config proxy-target-class="true" >

                 <aop:advisor   pointcut="execution(* com.example.service.ICustomerService.*(..))"  advice-ref="txAdvice" />

              </aop:config>

             

              <bean id="customerDAO" class="com.example.dao.impl.CustomerDAO">

                 <property name="sqlClient" ref="sqlMapClient" />

              </bean>

             

             

              <bean id="customerService" class="com.example.service.impl.CustomerService">

                 <property name="customerDAO" ref="customerDAO" />

              </bean>

          posted on 2009-02-14 21:48 王總兵 閱讀(821) 評論(2)  編輯  收藏

          評論

          # re: spring事物控制問題整理(1) 2009-02-14 23:40 王兵
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"" target="_new">http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"" target="_new">http://www.springframework.org/schema/context"
          xmlns:tx="http://www.springframework.org/schema/tx"" target="_new">http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"" target="_new">http://www.springframework.org/schema/aop"
          xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-2.5.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">
          </property>
          <property name="url" value="jdbc:mysql://localhost:3306/greatwall">
          </property>
          <property name="username" value="root"></property>
          <property name="password" value="sa"></property>
          </bean>
          <bean id="sessionFactory"
          class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
          <property name="dataSource">
          <ref bean="dataSource" />
          </property>
          <property name="hibernateProperties">
          <props>
          <prop key="hibernate.dialect">
          org.hibernate.dialect.MySQLDialect
          </prop>
          </props>
          </property>
          <property name="mappingResources">
          <list>
          <value>com/example/domain/Customer.hbm.xml</value>
          </list>
          </property>
          </bean>



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

          <tx:advice id="txAdvice" transaction-manager="transactionManager">
          <tx:attributes>
          <tx:method name="*" />
          <tx:method name="insert*" propagation="REQUIRED"/>
          </tx:attributes>
          </tx:advice>

          <aop:config proxy-target-class="true" />


          <aop:config proxy-target-class="true" >
          <aop:advisor pointcut="execution(* com.example.service.CustomerService.*(..))" advice-ref="txAdvice" />
          </aop:config>

          <bean id="customerDao" class="com.example.dao.impl.CustomerDaoImpl">
          <property name="sessionFactory">
          <ref bean="sessionFactory" />
          </property>
          </bean>

          <bean id="customerService" class="com.example.service.impl.CustomerServiceImpl">
          <property name="customerDao" ref="customerDao" />
          </bean>


          </beans>  回復  更多評論
            

          # re: spring事物控制問題整理(1) 2009-02-14 23:42 王兵
          上面的xml配置在hibernate下面可以使用,對于ibatis還沒有配置成功過。郁悶。繼續利用注釋對hibernate進行配置,不過感覺利用AOP還是比較省事,對service的方法進行規范,一個地方配置解決了一大堆的注釋。  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 万荣县| 苏尼特左旗| 平阴县| 广汉市| 新津县| 迁安市| 宣化县| 育儿| 武乡县| 衢州市| 罗源县| 东港市| 车险| 龙里县| 南通市| 南江县| 富锦市| 盐亭县| 彰武县| 治县。| 临汾市| 梅州市| 沁水县| 遂昌县| 高雄县| 新宾| 连城县| 宜章县| 隆德县| 黄浦区| 徐闻县| 昭苏县| 奎屯市| 娱乐| 张家川| 溧阳市| 邯郸市| 荃湾区| 辛集市| 南江县| 安远县|