解決之道

          個人日記
          posts - 33, comments - 1, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "

          <beans>

          ??建立一個數據源
          ?<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
          ? <property name="driverClassName">
          ?? <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
          ? </property>
          ? <property name="url">
          ?? <value>jdbc:microsoft:sqlserver://192.168.0.6:1433</value>
          ? </property>
          ? <property name="username">
          ?? <value>sa</value>
          ? </property>
          ? <property name="password">
          ?? <value></value>
          ? </property>
          ?</bean>

          ? 建立會話工廠類,這個類使用spring專門為hibernate3提供LocalSessionFactoryBean
          ?
          ?<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
          ? <property name="dataSource">
          ?? <ref local="dataSource" />? --引用上面的數據源
          ? </property>
          ? <property name="mappingResources">? --調入映射文檔
          ?? <list>
          ??? <value>com/yourcompany/User.hbm.xml</value>?
          ?? </list>
          ? </property>
          ? <property name="hibernateProperties">? --相關設置
          ?? <props>
          ??? <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
          ??? <prop key="hibernate.show_sql">true</prop>
          ?? </props>
          ? </property>
          ?</bean>
          ??

          ??? 定義事務管理器,這個也是 spring專門為hibernate3提供的HibernateTransactionManager 事務管理器
          ?<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
          ? <property name="sessionFactory">
          ?? <ref local="sessionFactory" />?? --引用會話工廠類
          ? </property>
          ?</bean>

          ?定義實體DAO
          ?<bean id="userDAO" class="com.yourcompany.UserDAOImp">
          ? <property name="sessionFactory">
          ?? <ref local="sessionFactory" />--引用會話工廠類
          ? </property>
          ?</bean>
          ?

          ?為上面的實體DAO定義一個代理(proxy)類,這是spring為解決事務問題而提供TransactionProxyFactoryBean動態事務代理類
          ?<bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
          ? <property name="transactionManager">
          ?? <ref bean="transactionManager" />? --指定事務管理器(需要是spring專用的)
          ? </property>
          ? <property name="target"> --目標實體DAO類
          ?? <ref local="userDAO" />
          ? </property>
          ? <property name="transactionAttributes"> --定義要使用事務的方法
          ?? <props>
          ??? <prop key="insert*">PROPAGATION_REQUIRED</prop>? --所有insert開頭的方法都使用事務,出錯要回滾
          ??? <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> --所有get開頭的方法都使用只讀事務
          ??? <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>--所有ist開頭的方法都使用只讀事務
          ?? </props>
          ? </property>
          ?</bean>

          ??為 path="/login"?的struts action 定義實際的action類,該action?已經進行?type="org.springframework.web.struts.DelegatingActionProxy"設置
          ? <bean name="/login" class="com.yourcompany.struts.action.LoginAction" singleton="false">
          ??? <property name="userDAO">
          ??? <ref bean="userDAOProxy" />? --注意,這里指定的userDAO是上面定義的代理類
          ? </property>
          ?</bean>
          </beans>?



          kelven 2006-12-05 15:40 發表評論

          文章來源:http://www.aygfsteel.com/zhangrenquan/articles/85594.html

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


          網站導航:
           
          主站蜘蛛池模板: 县级市| 江孜县| 搜索| 湖南省| 边坝县| 宜兰市| 太和县| 大渡口区| 顺昌县| 延长县| 灵寿县| 泰顺县| 兴义市| 白银市| 新干县| 涟水县| 新田县| 那曲县| 河东区| 康乐县| 马关县| 咸宁市| 吉安县| 锡林郭勒盟| 鄂伦春自治旗| 岳池县| 集安市| 台中市| 儋州市| 延吉市| 青海省| 开封县| 西丰县| 嘉禾县| 囊谦县| 临猗县| 新宁县| 鹤岗市| 益阳市| 黄冈市| 米脂县|