一共有6步(文章底部附有源碼下載地址,剛學完ssh的可以借鑒)1寫一個Hibernate應用,完成用戶的增加1)User實體2)UserDao接口save(Useru)3)UserDaoImpl實現UserDaosave(Useru){//用hibernateapi}2讓spring注入SessionFactory1)在上一個應用中導入Spring的jar包除了基礎的6個包,還得導入2個jar包org.springfram" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

SSH六部曲

系統 1890 0
      <strong>
      
        

一共有6步(文章底部附有源碼下載地址,剛學完ssh的可以借鑒)
      
      </strong>



1
      
         寫一個Hibernate應用,完成用戶的增加

    
      
      1
      
        ) User實體

    
      
      2
      
        )UserDao接口

        save(User u)

    
      
      3
      
        )UserDaoImpl實現UserDao

        save(User u){

            
      
      
        //
      
      
        用hibernate api
      
      
                }

        


      
      2
      
         讓spring注入SessionFactory



    
      
      1
      
        )在上一個應用中導入Spring的jar包

        除了基礎的6個包,還得導入2個jar包

        org.springframework.jdbc
      
      -3.0.5
      
        .RELEASE.jar

        org.springframework.orm
      
      -3.0.5
      
        .RELEASE.jar

        org.springframework.transaction
      
      -3.0.5
      
        .RELEASE.jar

        

        

    
      
      2
      
        ) 增加配置文件beans.xml

        
      
      <bean id="sessionFactory"

            
      
        class
      
      ="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

                <property name="configLocation"  value="classpath:hibernate.cfg.xml"/>

        </bean>

        

        

        <bean id="userDao" 
      
        class
      
      ="包名.UserDaoImpl">

            <property name="sessionFactory" ref="sessionFactory">

        </bean>

        

    3
      
        ) 在測試方法中,獲得userDao,然后測試save()

    

            UserDao userDao
      
      = (UserDao)cxt.getBean("userDao"
      
        );

            


      
      3
      
         添加數據源,并注入到SessionFactory    



    
      
      1
      
        ) 需要導入2個包

            commons
      
      -
      
        dbcp.jar

            commons
      
      -
      
        pool.jar

    

        注:數據源的第3方實現有非常多,現我們用其中一種,commons
      
      -
      
        dbcp

    

    
      
      2
      
        ) 配置Datasource

    
      
      <bean id="myDataSource" 
      
        class
      
      ="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>

        <property name="url" value="jdbc:mysql://localhost:3306/spring_db"/>

        <property name="username" value="root"/>

        <property name="password" value="123456"/>

    </bean>

    

    3
      
        )在SessionFactory Bean中注入dataSource

    

    
      
      <bean id="mySessionFactory" 
      
        class
      
      ="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

        <!-- 注入DataSource Bean-->

        <property name="dataSource" ref="myDataSource"/>

        

        <property name="mappingResources">

            <list>

                <value>com/toceansoft/entity/User.hbm.xml</value>

            </list>

        </property>

        

        <property name="hibernateProperties">

            <value>
      
        

                hibernate.dialect
      
      =
      
        org.hibernate.dialect.MySQLDialect

                hibernate.hbm2ddl.auto
      
      =
      
        update

                hibernate.show_sql
      
      =
      
        true
      
      

            </value>

        </property>

    </bean>

    

    4
      
        ) 測試結果

    


      
      4
      
         使用spring提供的HibernateTemplate



    
      
      1
      
        ) 在Dao中添加

    
      
      
        private
      
      
         HibernateTemplate hibernateTemplate;

    
      
      
        public
      
      
        void
      
      
         setSessionFactory(SessionFactory sessionFactory) {

        
      
      
        this
      
      .hibernateTemplate = 
      
        new
      
      
         HibernateTemplate(sessionFactory);

    }

    

    
      
      2
      
        )修改方法,改成使用hibernateTemplate

        save(o)

            hibernateTemplate.save(o);

            


      
      5
      
         使用spring在業務層切入事務



    
      
      1
      
        )在業務層寫一個接口UserService

        
      
      
        public
      
      
        void
      
      
         add(User u);

    
      
      2
      
        ) 寫一個實現類UserServiceImpl實現接口UserService

        
      
      
        public
      
      
        void
      
      
         add(User u){}

    
      
      3)實現類UserServiceImpl提供userDao的get/
      
        set方法

    

    
      
      4
      
        )在beans.xml中配置UserServiceImpl 的Bean,并注入userDao

    

    
      
      5
      
        )配置事務管理器Bean

    
      
      <bean id="txManager" 
      
        class
      
      ="org.springframework.orm.hibernate3.HibernateTransactionManager">

        <property name="sessionFactory" ref="sessionFactory"/>

    </bean>

    6
      
        ) 配置事務通知

    
      
      <tx:advice id="txAdvice" transaction-manager="txManager">

        <!-- 包括隔離級別,事務傳播屬性。。。 -->

        <tx:attributes>

            <tx:method name="add*" propagation="REQUIRED"/>

            <tx:method name="*" propagation="SUPPORTS" read-only="true"/>

        </tx:attributes>

    </tx:advice>

    7
      
        )配置aop切面

    
      
      <aop:config>

        <aop:pointcut id="serviceMethods"
      
        

            expression
      
      ="execution(* com.toceansoft.service.impl.*.*(..))"/>

        <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods"/>

    </aop:config>

    8
      
        )測試結果

    
      
      9
      
        )在add方法內拋出異常,再測試觀察結果

        
      
      
        throw
      
      
        new
      
      
         RuntimeException();

        


      
      6
      
         整合Spring與Struts

    
      
      1
      
        )在把上面的java 應用變成web應用

            
      
      --
      
        把上面應用Src下的所有東東復制到web應用的src

            

    
      
      2
      
        )導入struts2開發的基礎jar包,還需要一個特殊包

        struts
      
      -spring-
      
        plugin.jar

        

        導入與struts2整合的spring相應的包

        org.springframework.web.struts
      
      -3.0.5
      
        .RELEASE.jar

        org.springframework.web
      
      -3.0.5
      
        .RELEASE.jar

        

    
      
      3) 把beans.xml 復制到WEB-
      
        INF,并且改名為applicationContext.xml(可選的)

    

    
      
      4
      
        ) 在web.xml中配置spring啟動的監聽器

    
      
      <context-param>

    <param-name>contextConfigLocation</param-name>

    <param-value>/WEB-INF/applicationContext.xml,classpath*:applicationContext2.xml</param-value>

    </context-param>

    <listener>

    <listener-
      
        class
      
      >org.springframework.web.context.ContextLoaderListener</listener-
      
        class
      
      >

    </listener>

    

    5
      
        )在web.xml配置Struts2的啟動

    
      
      <filter>

        <filter-name>struts2</filter-name>

        <filter-
      
        class
      
      >org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-
      
        class
      
      >

        <!--  <filter-
      
        class
      
      >org.apache.struts2.dispatcher.FilterDispatcher</filter-
      
        class
      
      >-->

    </filter>

    

    <filter-mapping>

        <filter-name>struts2</filter-name>

        <url-pattern>
      
        /*
      
      
        </url-pattern>

    </filter-mapping>

    

    6)在Web包下寫UserAction,并且提供業務層UserSerivce的set方法

    

    7)在appplicationContext.xml中配置UserAction bean

    <bean id="userAction" class="com.toceansoft.web.action.UserAction" scope="prototype">

        <property name="userService" ref="userService" />

    </bean>

    注:scope="prototype"

    

    8) 在struts.xml中配置UserAction

    <!-- 跳轉到添加產品頁面 -->

        <action name="User_toAdd" >

            <result>/User_add.jsp</result>

        </action>

        

        <!-- 添加產品 -->

        <!-- 關鍵點:這里的class設置action bean在spring配置文件中bean的id -->

        <action name="User_add" class="userAction" method="add">

            <result name="success">/grobal_message.jsp</result>

        </action>

        

    9) 寫2個頁面

    User_add.jsp

    grobal_message.jsp

    

    10)部署測試
      
    

?

SSH六部曲


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 中文字幕自拍偷拍 | 不用播放器的av | 色呦呦tv| 色婷婷视频在线 | 欧美日韩免费在线观看视频 | 日本视频在线 | 国产精品冒白浆免费视频 | 成人三级视频 | 日本综合在线 | 国产色在线 | 青娱乐在线视频盛宴 | a级欧美片免费观看 | 欧美日色| 久久久久成人精品免费播放动漫 | av中文字幕在线观看 | 久久伊99综合婷婷久久伊 | 国产高清视频在线 | 99精品视频在线观看 | 天堂动漫 | japanese末成年free | 青草青在线 | 色九九| 久久国产综合 | 五月婷婷六月丁香 | 日本三级免费 | 久久不卡| 午夜色视频在线观看 | 91观看 | 污视频免费网站 | 精品日韩视频 | 日本免费黄色 | 国产精品 第1页 | 亚洲一区 中文字幕 | 狠狠色狠狠色 | 双性精h调教灌尿打屁股的文案 | 久久久青草 | 中文字幕精品一区二区三区精品 | 欧美亚洲一区二区三区 | 色综合区 | 精品国产影院 | 奇米影视第七色 |