paulwong

          applicationContext解析

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

          <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> 

          posted on 2007-04-06 16:19 paulwong 閱讀(303) 評論(0)  編輯  收藏 所屬分類: J2EE

          主站蜘蛛池模板: 延寿县| 东乌珠穆沁旗| 库车县| 钟祥市| 安龙县| 桐梓县| 东兴市| 屯昌县| 准格尔旗| 荃湾区| 汝城县| 万山特区| 宁蒗| 龙岩市| 四川省| 澎湖县| 长阳| 新闻| 衡水市| 维西| 林周县| 苗栗县| 沧州市| 平遥县| 南投县| 绥德县| 商河县| 临城县| 贞丰县| 安徽省| 佛教| 嵊泗县| 长顺县| 舒兰市| 水富县| 乡宁县| 旌德县| 周口市| 张掖市| 晋城| 睢宁县|