<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-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.tkk7.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 紫蝶∏飛揚↗ 閱讀(925) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 久久九九亚洲精品| 香蕉视频免费在线播放| 亚洲乱码精品久久久久..| 好爽又高潮了毛片免费下载| 国内少妇偷人精品视频免费| 亚洲国产精品无码久久| 亚洲国产精品张柏芝在线观看| 亚洲日本一区二区三区在线| 四虎永久在线精品免费观看地址| 国产成人精品免费视| 高清一区二区三区免费视频| 亚洲AV日韩AV永久无码色欲 | 国产黄色片在线免费观看| 一区二区三区福利视频免费观看| 一区二区三区精品高清视频免费在线播放 | 韩国日本好看电影免费看| www视频在线观看免费| 日本高清高色视频免费| 91成人免费观看在线观看| 免费人成大片在线观看播放电影| 亚洲a∨无码精品色午夜| 亚洲最大无码中文字幕| 国产成人精品日本亚洲专| 亚洲成人一级电影| 亚洲码一区二区三区| 亚洲综合一区二区精品导航| 亚洲avav天堂av在线不卡 | 久久精品国产影库免费看| 国产在线国偷精品免费看| kk4kk免费视频毛片| 一级特黄特色的免费大片视频| 日韩免费在线中文字幕| 一级特黄aaa大片免费看| 一区二区三区免费精品视频 | 毛茸茸bbw亚洲人| 国产亚洲情侣一区二区无码AV| 中文字幕亚洲综合久久男男| 亚洲情侣偷拍精品| 亚洲精品乱码久久久久久自慰| 亚洲av中文无码乱人伦在线r▽| 亚洲AV无码一区二区二三区入口 |