日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

第一章 Spring基础

發布時間:2024/2/28 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一章 Spring基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一章 Spring基礎



1.1 Spring介紹



  • Spring是一個框架,框架是高度抽取、可重用的代碼的一種設計。Spring就是多個可重用的模塊的集合,從而形成一個領域的整體解決方案。

  • Spring是一個IOC(DI)和AOP容器框架


Spring的優良特性:

  • 非侵入式:基于Spring開發的應用中的對象可以不依賴Spring的API
  • 依賴注入DI(Dependency Injection),控制反轉**(IOC:invesion of control)**最經典的實現
  • 面向切面編程AOP(Aspect Oriented Programming)
  • 容器:Spring是一個容器,因為它包含并且管理應用對象的生命周期,容器可以幫我們管理所有的組件(類)
  • 組件化:Spring實現了使用簡單的組件配置組合成一個復雜的應用,在Spring中可以使用XML和Java注解注冊對象
  • 一站式:在IOC和AOP的基礎之上可以整合各種企業應用的開源項目和優秀的第三方Jar包

  • 1.2 Spring中的IOC和AOP


    Spring的模塊圖:



    從下到上依次為:


    測試(Test):

    Spring的單元測試模塊


    核心容器(Core Container):

    IOC

    ? -Beans:Spring Bean相關,如依賴查找、依賴注入

    ? -Core:核心庫

    ? -Context:上下文

    ? -Expression Language:表達式語言


    Aop+Aspects(面向切面編程模塊):


    數據訪問(Data Assess):

    ? -JDBC:操作數據庫的模塊

    ? -ORM(Object Relation Mapping):對象關系映射

    ? -OXM(Object Relation Mapping) :對象XMl映射

    ? -JMS:消息服務

    ? -Transaction:事務


    Web(開發Web應用的模塊):

    ? -web:webSocket

    ? -Servlet:Servlet

    ? -Portlet:

    ? -Struts:


    注意:Spring中的包很多,用到那個,就導入那個,導入不需要使用的包會降低性能



    1.2.1 IOC

    IOC是Inversion of control的縮寫 ,翻譯為控制反轉,它不是什么技術,而是一種設計思想。


    控制:在以前,我們是自己在對象內部通過new去創建對象,也就是程序主動去創建依賴對象。在Spring中,IOC容器來控制對象的創建。

    反轉:在以前,由我們去主動控制去獲取依賴對象,也就是正轉。在Spring中,由IOC容器來幫忙創建以及注入依賴對象,我們是被動的使用Spring注入的依賴對象,也就是反轉。


    1.2.2 DI

    DI是英文Dependency Injection的縮寫,翻譯為依賴注入

    應用程序因為需要IOC容器來提供對象所需要的的外部資源,所以程序依賴IOC容器,同時,IOC容器知道某個組件運行時需要哪些其他組件(對象),然后通過反射的形式將容器中準備好的對象(利用反射給屬性賦值)注入到這個組件中。


    IOC的一個重點就是在系統運行中,動態的向某個對象提供它依賴的對象,這就是通過DI來實現的。


    例如,我們經常會寫這樣的代碼:

    // 主動創建對象 getIceCola{Ice ice = new Ice("-2C");Cola cola = new Cloa(400);Cup cup = new Cup("大杯");Machin machin = new Machin("冰可樂機");return machin.makeIceCola(ice, cola, cup); }

    上面創建對象的方式就是主動式,上面的例子比較簡單,設想一下,如果需要創建很多對象,且這些對象初始化需要很多變量,是不是會很麻煩。

    在Spring中,采用的是被動式的創建對象,也就是對象的創建和控制權交給了Spring,我們是被動的來接收和使用Spring給我們提供的對象。當然,前提是需要配置好這些對象。

    使用Spring之后,我們這樣寫代碼:

    // 主動創建對象 getIceCola{@AutowiredIce ice;@AutowiredCola cola;@AutowiredCup cup;@AutowiredMachin machin;return machin.makeIceCola(ice, cola, cup); }

    容器管理了所有的組件(有功能的類),上面的getIceCola也可以受容器管理。當容器發現BookServlet需要用到BookService類,它就會創建BookService對象,也就是說,之前,我們需要某個對象,我們需要主動的去new,但在Spring中,Spring發現我們需要某個類的對象時,它會自動幫我們創建,程序是被動的去接收IOC提供的對象。

    總結

    以上是生活随笔為你收集整理的第一章 Spring基础的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。