隨筆-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 紫蝶∏飛揚↗ 閱讀(928) 評論(0)  編輯  收藏 所屬分類: Spring
          主站蜘蛛池模板: 措勤县| 米易县| 铜山县| 钟山县| 乌拉特中旗| 阆中市| 邵东县| 邵阳市| 龙川县| 黄梅县| 金寨县| 突泉县| 齐齐哈尔市| 登封市| 右玉县| 西昌市| 余姚市| 德令哈市| 略阳县| 丽水市| 施甸县| 平泉县| 成武县| 萨迦县| 新乐市| 勃利县| 丰城市| 南华县| 和田市| 凤翔县| 青铜峡市| 瓦房店市| 西充县| 高陵县| 合江县| 奉新县| 通道| 错那县| 团风县| 九台市| 易门县|