一共有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條評論
主站蜘蛛池模板: 久久亚洲一区二区 | 一级片免费观看 | 狠鲁| 2022国产成人精彩在线视频 | 午夜视频在线免费观看 | 久久99精品久久 | 亚洲成人精品久久久 | 天天拍拍夜夜出水 | 久久91精品 | 久久久久成人精品免费播放动漫 | 亚洲精品久久视频 | 手机在线观看你懂得 | 五月婷婷综合激情网 | 97国产| 国产成人在线观看免费网站 | 波多野结衣办公室在线观看 | 色噜噜影院 | 夜夜爱夜夜操 | 欧美一性一看一免费视频 | 亚洲成av人片在线观看 | 久久这里只有精品视频9 | 就草草在线观看视频 | 久久婷婷色 | 久久9999久久 | 亚洲精品欧美一区二区三区 | 天天色天天操天天射 | 国产精品va一区二区三区 | 天天高清 | 99re6热只有精品免费观看 | 亚洲欧美在线观看一区二区 | 中文无码日韩欧 | 免费视频二区 | 日韩在线中文字幕 | 国产精品 第1页 | 欧美6一10sex性hd | 亚洲一区 中文字幕 | 成人一区二区在线观看视频 | 日韩国产一区二区三区 | 欧美高清视频一区 | 欧美一区二区免费 | 四虎影视在线看免费完整版 |