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

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SSH六部曲

系統(tǒng) 2104 0
      <strong>
      
        

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



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

    
      
      1
      
        ) User實體

    
      
      2
      
        )UserDao接口

        save(User u)

    
      
      3
      
        )UserDaoImpl實現(xiàn)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
      
         添加數(shù)據(jù)源,并注入到SessionFactory    



    
      
      1
      
        ) 需要導入2個包

            commons
      
      -
      
        dbcp.jar

            commons
      
      -
      
        pool.jar

    

        注:數(shù)據(jù)源的第3方實現(xiàn)有非常多,現(xiàn)我們用其中一種,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在業(yè)務層切入事務



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

        
      
      
        public
      
      
        void
      
      
         add(User u);

    
      
      2
      
        ) 寫一個實現(xiàn)類UserServiceImpl實現(xiàn)接口UserService

        
      
      
        public
      
      
        void
      
      
         add(User u){}

    
      
      3)實現(xiàn)類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開發(fā)的基礎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啟動的監(jiān)聽器

    
      
      <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,并且提供業(yè)務層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六部曲


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99热精品在线播放 | 亚洲精品中文字幕乱码一区二区 | 日韩毛片欧美一级国产毛片 | 国产精品麻豆a啊在线观看 国产精品麻豆高清在线观看 | 久久青草18免费观看网站 | 一级日本强免费 | 91热成人精品国产免费 | 亚洲热久久 | 草草在线观看 | 久久.com| 成年人免费在线视频 | 婷婷色中文网 | 欧美综合另类 | 亚洲伊人久久大香线蕉啊 | 亚洲国产视频一区 | 操干干 | 亚洲综合专区 | 欧美兽皇另类 | 日本a级精品一区二区三区 日本a毛片在线播放 | 亚洲欧美日韩成人网 | 一级成人毛片免费观看 | 性夜黄a爽爽免费视频国产 性夜影院爽黄a爽免费看网站 | 色播久久| 国产精品视频一 | 看黄色一级毛片 | 成人特黄午夜性a一级毛片 成人特级毛片69免费观看 | 亚洲视频在线一区二区三区 | 国产精品国产三级国产专区5o | 欧美一级一极性活片免费观看 | 男女羞羞网站 | 国内精品久久久久影院不卡 | 99久久精品国产免看国产一区 | a资源在线 | 久久综合图区亚洲综合图区 | 很狠操 | 成人小视频免费观看 | 国产精品久久久久一区二区三区 | 精品四虎免费观看国产高清午夜 | 91在线看视频 | 亚洲精品综合一区二区三区 | 看看的在线视频国产 |