SSH學習總結

一:回顧三大框架(hibernate、struts2、Spring)知識點:

    1.1:hibernate框架:

            1.1.1:ORM思想:對象關係映射

            1.1.2:核心配置文件中

                          (1)配置數據庫的信息   (2)hibernate的信息 (3)引入映射配置文件

              1.1.3:注意:hibernate的核心配置文件

                        (1):如果單獨使用hibernate的框架,核心配置文件的名稱(hibernate.cfg.xml)和位置(src下面)固定。

                           (2) :如果hibernate和Spring整合的時候,hibernate核心配置文件名稱和位置沒有固定要求(可以在Spring的核心配置文件中配置)

               1.1.4:hibernate映射配置文件

                        (1) 實體類和數據庫表映射關係——使用ORM思想

        1.2:struts2框架:

                  1.2.1:Action的操作:

                         (1):Action的創建方式 (3種)  

                                  經常使用:    繼承類ActionSupport

                         (2):配置Action的訪問路徑

                                        創建struts2的核心配置文件,這個文件名稱(struts.xml)和位置(src)是固定的。

                          (3):配置訪問Action的多個方法

                                    一般使用通配符方式

                            (4):在Action中獲取表單提交的數據

                                       ①:獲取request對象

                                                用ServletActionContext類獲取

                                        ②:屬性封裝  

                                        ③:模型驅動(重點)

                                        ④:表達式封裝

                             (5):在Action中操作域對象

                                          使用ServletActionContext類獲取域對象

                               (6):配置struts2的過濾器

                1.2.2:值棧:

                                (1):線值棧放數據

                                           set()、和push()兩個方法

                                    定義變量,生成get方法

                                 (2)從值棧獲取數據

                                            在jsp頁面中使用struts2標籤+ognl獲取

                                            <s:property>

                                             <s:iterator>

                 1.2.3:攔截器

                                   (1)aop(控制反轉)和責任鏈模式

                                    (2)自定義攔截器

                                                繼承:MethodFilterInterceptor

                                                重寫類裏面的方法

                                                配置攔截器和Action的關聯

      1.3:Spring框架:

               1.3.1:spring核心配置文件       

                      (1)名稱和位置沒固定要求                       

                       (2)在Spring核心配置文件中引入schema約束

                1.3.2:創建對象

                       (1)xml配置文件方式:<bean id=""  class="" scope="" />        

                       (2)註解方式:四個註解

                    

                1.3.3:注 入屬性(對象類型)    

                        (1):xml配置文件方式

                        (2):註解方式:兩個註解



                1.3.4:使用ServletContext對象和監聽器實現

                        (1)在服務器啓動的時候。加載spting配置文件,創建對象

                        (2)配置Spring的監聽器

                        (3)指定Spring配置文件位置

                1.3.5:JDBCTemplate

                            HIbernateTemplate

                1.3.6:Spring事物的配置:

                            xml配置文件方式

                            註解方式

                

二:SSH整合

        2.1:整合思想



       2.2:SSH的整合思想(具體事項)

            兩個兩個框架進行整合(Spring是中間的框架)

           2.2.1:Spring和hibernate進行整合

                        (1)把hibernate核心配置文件中的配置數據庫的部分,直接寫在Spring的核心配置文件中

                 (2)把sessionFactory對象交給Spring進行配置,所以第一次訪問很慢,指只創建一次(SessionFactory)

                        (3)就是在服務器啓動的時候創建sessionFactory對象,只創建一次,第一次訪問慢

        


        2.2.2:Spring和struts2進行整合

                        (1)即使把struts2的Action交給Spring進行創建

                                <bean id=""  class="" scope=""/>     



三:具體實現整合

        3.1:struts2 和  Spring進行整合

                struts2的Action交給Spring進行配置

                3.1.1:實現過程

                        (1)導入struts2 jar包(整合包........)

                        (2)創建Action

                        (3)創建struts2和核心配置文件,配置Action的訪問路徑

                                    在src下面,民名稱是struts.xml

                         (4)配置struts2的過濾器

                          (5)導入Spring的jar包

                          (6)創建Spring的配置文件

                                        ①:引入約束(schema)

                                        ②:配置Spring的監聽器

                                        ③:指定Spring的配置文件的位置(所以Spring的配置文件名隨意起)

                           

                


                        (7):把Action的交給Spring配置(重要)(上面6部都是和原來配置一樣)

                

                                    ① 在Spring中配置Action對象,在struts2 中也配置Action對象(這是有衝突)

                                    ②:解決衝突

                              就是在struts2.xml中不需要配置,其他不變,只需要把class改寫成bean的id值就好

                                            

        

    

        3.2:hibernate和Spring的整合

               把數據庫的配置信息交給Spring配置

               把sessionFactory交給Spring進行配置

                3.2.1:具體實現

                        (1)導入hibernate的jar包(必須導入一個Spring整合持久化層的jar包

                            如果有jar包衝突,可以把低版本的刪除掉(這是我遇到的問題)

                        (2)搭建hibernate環境

                                    ① 創建實體類

                                    ② 配置實體類和數據庫的映射關係(映射配置文件)

                                    ③ 創建hibernate的核心配置文件

                        (3)把數據庫的配置在Spring中進行配置(採用c3p0配置數據庫的方式配置)

                                

                        (4)把SessionFactory交給Spring進行配置

                                ① 服務器啓動的時候,加載Spring配置文件,把配置文件中對象創建對象            

                                ② 把SessionFactory對象在Spring的配置文件中進行創建

                                ③ Spring把創建SessionFactory對象的複雜操作,封裝到一個類中

            

                        (5):這裏說明

                                    單獨使用hibernate 的時候,使用的是JdbcTemplate對象

                                     整合的時候使用的是    HIbernateTemplate對象

                                ① 在dao'裏面得到hibernateTemplate對象(注入進去)



                                ②調用hibernateTemplate的方法

            

                       (6)配置事務


                    在使用事物的地方配置(一般都是service中)

    


        

四:HIbernateTemplate介紹

       4.1:HIbernateTemplate對hibernate框架進行封裝

                 可以直接調用HibernateTemplate裏面的方法實現功能

        4.2:HibernateTemplate中常用的方法

                        •       Serializablesave(Object entity) :添加操作

                        •        void update(Object entity) :修改操作

                        •        void delete(Object entity) :刪除操作                        

                        •        <T> T get(Class<T> entityClass,Serializable id) :根據id查詢

                        •        <T> T load(Class<T> entityClass,Serializable id)根據id查詢

                       例子:

                        User user = hibernateTemplate.get(User.class,2);

                        •        List find(String queryString, Object...values) :查詢操作的方法

                        第一個參數是:hql語句

                        第二個參數是 hql語句的參數值

                



   Spring和分模塊開發

        1.在Spring中配置多個內容,造成混亂,不利於維護

         2.把Spring核心配置文件中的,一部分配置到單獨的配置文件中,在Spring的核心配置文件中引入單獨配置文件



















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章