隨筆-9  評論-168  文章-266  trackbacks-0

                  題外話:之從有了框架后,后臺的一切開發都變的不那么復雜了,應該說成是簡單了.對于數據訪問的開發,都是趨于接口的編程.記住,接口編程!

            (一)數據訪問層開發:            (importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;)
                  (1) 創建數據訪問層接口.
                  (2) 創建 public class 數據訪問層實現類 extends HibernateDaoSupport implements 數據訪問層接口.
                       在實現類的方法(throw DataAccessException)中封裝 getHibernateTemplate().save(user) 等Spring已封裝的持久化方法.(注:如果使用Hibernate API 要用try{}catch{}自行處理導常.)

                   *************************************

             (二)業務邏輯層開發:
                   (1)創建業務邏輯層接口.
                   (2)創建 public class 業務邏輯層實現類 implements 業務邏輯層接口.
                       在實現類中. 引用的數據訪問層對象實例采用DI的設值方式注入
                                             在業務邏輯方法(throw DataAccessException)中,使用數據訪問層對象實例來訪問數據庫. 
                      *************************************

              (三) Spring 配置文件
                     (1)配置數據源          <bean id="dataSource" ...>
                     (2)配置會話工廠     <bean id="sessionFactory" ...>
                     (3)配置事務管理器  <bean id="transactionManager" ...>
                     (4)配置事務代理      www.aygfsteel.com/algz/articles/163236.html
          例:
             <?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.mysql.jdbc.Driver</value>
                    
          </property>
                    
          <property name="url">
                          
          <value>jdbc:mysql://localhost/test</value>
                     </property>
                    
          <property name="username">
                          
          <value>用戶名</value>            <!-- <value />設置的值,自動轉換為字符串,不用加引號.如:"用戶名" X  -->
                     
          </property>
                     
          <property name="password">
                           
          <value>密碼</value>
                      
          </property>
                  
          </bean>
           
           
          <!-- 配置sessionFactory  -->
            
          <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
                  
          <property name="dataSource">   <!-- 數據源 -->
                         <ref local="dataSource" />
                   
          </property>
                  
          <property name="mappingResources">    <!-- ORM映射文件 -->
                        
          <list>
                             
          <value>com/test/Hibernate/User.hbm.xml</value>
                        
          </list>
                   
          </property>
                   
          <property name="hibernateProperties">    <!-- Hibernate 屬性 -->
                         
          <props>
                               
          <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                               
          <prop key="hibernate.show_sql">true</prop>        <!--控制臺顯示-->
                           </props>
                    
          </property>
               
          </bean>

                   <!-- 配置事務管理器  -->
                   <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
                         <property name="sessionFactory">
                              <ref local="sessionFactory" />
                         </property>
                   </bean>
           
                   <bean id="userDAO" class="com.test.數據訪問層實現類">
                         <property name="sessionFactory">
                               <ref local="sessionFactory" />
                         </property>
                   </bean>
           
                   <!-- 聲明式事務代理其中方法一  -->
                   <bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
                         <property name="transactionManager">
                               <ref bean="transactionManager" />
                         </property>
                         <property name="target">
                               <ref local="userDAO" />
                         </property>
                         <property name="transactionAttributes">
                               <props>
                                     <prop key="insert*">PROPAGATION_REQUIRED</prop>
                                     <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
                                     <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
                               </props>
                           </property>
                     </bean>
           
                    <bean name="/login" class="業務層實現類" singleton="false">
                          <property name="userDAO">
                                <ref bean="userDAOProxy" />
                          </property>
                    </bean>
              </beans>
          posted on 2008-03-18 17:39 紫蝶∏飛揚↗ 閱讀(933) 評論(0)  編輯  收藏 所屬分類: Spring
          主站蜘蛛池模板: 平陆县| 眉山市| 醴陵市| 阳原县| 巴里| 同心县| 新昌县| 阿瓦提县| 天祝| 连江县| 乐至县| 肥乡县| 朝阳区| 忻州市| 张家港市| 霍林郭勒市| 兖州市| 四川省| 荔波县| 文山县| 南丰县| 天镇县| 达日县| 平塘县| 洪泽县| 且末县| 巴南区| 宿州市| 渭源县| 穆棱市| 凯里市| 高邑县| 濮阳县| 临泽县| 嘉定区| 霍邱县| 西峡县| 紫金县| 习水县| 报价| 明星|