Spring 學習總結

一:spring的概念

        1.1:spring是一個開源的輕量級的框架

        1.2:spring的核心主要有兩部分:

                   1.2.1:aop:面向切面編程

                   1.2.2:ioc:控制反轉(就是實例化不是new出來,而是交給spring配置創建)

         1.3:spring是一站式的框架:

                  1.3.1:spring在Javaee三層結構中,每一層都提供不同的解決技術  

                               web層:有springMVC技術

                               service層:spring的ioc的技術

                               dao層:spring的jdbcTempalte

二:Spring的ioc操作:

          就是對象的創建交給Spring進行操作,創建對象有兩種方式  ioc的配置文件方式、ioc的註解方式

        2.1:ioc的底層原理是應用  xml配置文件、dom4j、工廠設計模式、反射........等技術來實現功能              

        2.2:ioc入門案例:

                2.2.1:第一步:導包  .........

                2.2.2:第二步:創建類,在類裏面創建方法

        

               2.2.3:第三步:創建Spring配置文件,配置創建類

                                 (1)Spring的核心配置文件名稱和位置不是固定的,建議放到src下面,

                                         官方建議名稱  是applicationContex.xml,但是名稱可以隨意寫

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


                                  (3)配置對象創建(這裏xml(就是配置文件方式)配置)

                                        

                                  (4):測試代碼(只是單獨使用Spring的時候使用)

                                    

    三:Spring的bean的管理(xml方式)    

                 就是通過配置文件方式創建對象。

                 3.1: bean實例化的方式

                           (1) 第一種:使用類的無參數構造(重點)

                        

                        這種方式實例化對象,就是通過反射找無參構造,所以無參構造是必須的

                           (2):使用靜態工廠創建

                                          創建靜態方法,返回類對象

                    

                                        在配置文件中

        

                  3.2:bean標籤常用的屬性

                            (1)id屬性:起名稱,隨意起,id屬性值,不能包含特殊符號

                                    根據id值得到匹配的對象

                            (2)class屬性:創建對象所在類的全路徑

                            (3)name屬性:和id屬性一樣,id屬性值不包括特殊符號,但是name屬性值可以包含特殊符號

                            (4)scope屬性:    singleton:默認值,單實例

                                                             prototype:多實例(因爲struts2的Action是多實例)

四:屬性注入:

            4.1:創建對象時候,向類裏的屬性裏面設置值

            4.2:屬性注入的方式介紹(三種方式)

                    (1):使用set方法注入()

                    (2):使用有參數的構造方法注入

                     (3):使用接口注入

                    

             4.3:在Spring框架裏面,支持前兩種方式

                       (1):set方法注入(重點)

                        (2):有參數構造注入

         

                    4.3.1:使用有參數構造注入屬性

                                    


                        4.3.2:使用set方法注入屬性(重點)

                        


    

 五:注入對象類型屬性(重點)       

        需求:在service中得到dao對象

        5.1:實現過程

                    5.1.1:在service裏面把dao作爲類型

                    5.1.2:在service中生成dao類型屬性的set方法


                    5.1.3:配置文件中注入關係

            


            5.2:P名稱空間注入

                   (1) 在約束上面引入P名稱空間的路徑


                   (2)在配置



六:注入複雜類型屬性

        數組、list集合、map集合、properties




七:IOC和DI區別

       (1)IOC:是控制反轉,把對象創建交給Spring進行配置

        (2)DI:依賴注入,向類裏面的屬性中設置值

        (3)關係:依賴注入不能單獨存在,需要在IOC基礎之上完成操作


八:Spring的bean管理(註解方式)重要現在用的多

       8.1: 註解開發準備,導包

       8.2:創建類,創建方法

       8.3:創建Spring配置文件,引入約束(註解約束...)

       8.4:註解開發就得,開啓註解掃描     

                

        8.5:註解創建對象

                8.5.1:在創建對象的類上面使用註解實現

                            

                8.5.2:在測試類中寫如下代碼,看是否創建對象成功。

            

        

            8.6:創建對象有四個註解(目前這幾個的功能都一樣,都是創建對象)

                        @Component

                        @Controller

                        @Service

                        @Repository

            8.7:創建對象是單實例還是多實例

                    

        

                    Scope:singleton是單實例

                                 prototype是多實例

            8.8:註解注入屬性:

                    需求:在service中得到dao對象

                    (1)創建dao和service對象

                            


                    (2)在service類裏面定義dao'類型的屬性

                            注入對象屬性第一個  註解   @Autowired    

            

                            注入對象屬性第二個  註解   @Resource(常用,因爲這個可以註明對象名)


        



    8.9:一般開發都是配置文件和註解混合使用

            創建對象使用配置文件方式

            注入屬性使用註解方式實現


九:AOP

        9.1:aop:面向切面編程

         9.2:採取橫向抽取機制

         9.3:AOP操作術語

                   (1):切入點:就是實際增強的方法

                    (2):通知/增強:增強的邏輯,例如:擴展日誌功能,日誌功能稱爲增強

                    (3):切面:把增強用到具體的方法上面,就是把增強用到切入點上


            9.4:Aop操作

                    (1):導相關包

                    (2):創建Spring核心配置文件,導入aop的約束


                    (3):使用表達式配置切入點

                                 常用的表達式:

                               

                            execution(<訪問修飾符>?<返回類型><方法名>(<參數>)<異常>)

                            例如:

                                (1) execution(* cn.itcast.aop.Book.add(..))

                                (2execution(* cn.itcast.aop.Book.*(..))

                                (3execution(* *.*(..))

                   (4):AOP操作案例

                                   

                


Spring整合web項目

                         每次訪問Action的時候,都會加載Spring配置文件,耗費資源

            解決方案:

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

                          在Spring裏面不需要我們自己代碼實現,Spring已經封裝好了,只需要配置就可以完成加載Spring配置文件在服務器啓動時候。

                只需要配置一個監聽器

            

               這樣得指定Spring核心配置文件的位置,(因爲默認找到官方要求的.....) 




十:基於aspectj的註解aop操作

        10.1:創建對象

                    

          10.2:在Spring核心配置文件中,開啓aop操作

        

           10.3:在增強類上面使用註解完成aop操作



十一:Spring的jdbcTemplate操作

          11.1 : 因爲Spring是一站式框架,所以針對每一層都有解決技術

                    (1):dao層,使用jdbcTemplate

                        jdbcTemplate 就是對jdbc的封裝

           11.2:使用jdbcTemplate實現功能

                       (1)導包(2)創建對象(3)創建jdbcTemplate對象,設置數據源(4)調用jdbcTemplate對象中的方法實現操作

                   11.2.1:增加.....修改.....刪除.....

                                

                    11.2.2:查詢

                        (1):查詢返回多少條數據


                       (2):查詢返回對象

            


                    (3)查詢返回list集合

        


十二:Spring配置連接池和dao使用jdbcTemplate

            12.1:Spring配置c3p0連接池

                        12.1.1:導包

                         12.1.2:創建Spring配置文件,配置連接池

            下面這是c3p0連接池的原始用法 

                    

            下面是c3p0在配置文件中用法


            

            12.2:dao中使用jdbcTemplate

                      12.2.1:創建service和dao類,在配置文件中創建對象,在service中注入dao對象



                    12.2.2:創建jdbcTemplate對象,把模板對象注入到dao對象裏面




                12.2.3:在jdbcTemplate對象中注入dDataSource




十三:Spring事物管理api

        13.1:Spring事務管理方式

                聲明式事物管理

                    (1):基於xml配置文件實現

                    (2):基於註解實現

        13.2:聲明式事物管理(xml配置)

                    配置文件方式使用aop思想配置

                    13.2.1:配置事務管理器:

            

                    13.2.2:配置事物增強


                13.2.3:配置切面



    13.:3:聲明式事物管理(註解)簡單常用

                13.3.1:配置事物管理器


                13.3.2:配置事物註解(就是開啓註解掃描)


                13.3.3:在要使用事務的方法所在的類上面添加註解











    

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