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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新

發布時間:2024/2/28 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 簡介
  • Spring基礎
  • Core核心技術
  • Testing測試
  • Data Access
  • Web Servlet
  • Web Reactive
  • 總結

簡介

是什么讓java世界變得更好,程序員變得更友愛,禿頭率變得不是那么的高,讓程序員不必再每天996,有時間找個女朋友?

是Spring。

是什么讓企業級java應用變得簡單易懂,降低了java程序員的進入門檻,導致了現在遍地都是java程序員的窘境?

是Spring。

是什么從無冕之王變成了事實上的企業標準,讓規則制定者也要顫抖幾分?

是Spring。

簡單的說,Spring滿足了你們對于java程序的所有想象。是個java程序員都會投入Spring的懷抱。

今天這篇文件就是對Spring基礎的總結。文末附有小彩蛋,歡迎大家向后拉!

Spring基礎

Spring是在2003年,作為對之前的復雜的J2EE規范而產生的。有些人認為Spring和J2EE是競爭關系,實際上他們是互補的。

Spring最新版本是5.3.0, 通過使用Spring,我們可以很方便的創建企業級應用程序。同時Spring還提供了對groovy和Kotlin的支持。在Spring5.1之后,需要JDK8以上才能正確運行。

更多內容請訪問www.flydean.com

狹義的Spring指的是Spring基礎,如下圖所示的Spring Framework Runntime:

廣義的Spring是指整個Spring家族,包括Spring Boot,Spring Cloud等等項目。

這里我們探討的是狹義上的Spring Framework。它可以分為下面幾個模塊:

  • Core - Core是Spring得以運行的核心,主要包括IoC Container, Events, Resources, i18n, Validation, Data Binding, Type Conversion, SpEL, AOP等內容。
  • Testing - 測試是Spring中非常重要的一個模塊,主要包括Mock Objects, TestContext Framework, Spring MVC Test, WebTestClient等內容。
  • Data Access - 這一部分是對數據庫的訪問相關,包括Transactions, DAO Support, JDBC, O/R Mapping, XML Marshalling等內容。
  • Web Servlet - 傳統的對Web Servlet的支持,包括Spring MVC, WebSocket, SockJS, STOMP Messaging等內容。
  • Web Reactive - 這是Spring5新增的對于響應式系統的支持,包括Spring WebFlux, WebClient, WebSocket等。
  • Integration - 是對第三方系統的支持,包括Remoting, JMS, JCA, JMX, Email, Tasks, Scheduling, Caching等常用的第三方系統。
  • Languages - 最后是對其他JVM語言的支持,包括Kotlin, Groovy等動態語言。
  • Spring Framework被分成了很多個模塊,我們在構建應用程序的時候可以自由選擇使用哪個模塊。最核心的模塊是核心容器:包括配置模塊和依賴注入機制。除此之外,Spring Framework提供了對不同應用架構的基礎支持,包括消息,交易數據,存儲和網站。他還包括了Servlet-based Spring MVC web framework和最新的響應式Spring WebFlux reactive web framework。

    Core核心技術

    Spring的核心技術是Spring中最為重要的內容,而Core中最最中的就是Spring框架的反轉控制(IOC)容器。

    通過在Spring中使用面向方面編程(AOP)技術,IOC在Spring中得到了全面的應用。并且Spring搭建了自己的AOP框架,同時Spring還提供了對第三方AOP框架AspectJ的集成,從而滿足不同需求的用戶的使用。

    IOC也稱為依賴注入(DI)。它是指對象僅通過構造函數參數、工廠方法的參數或從工廠方法構造或返回對象實例后,通過在其上設置的屬性來定義其依賴項(即與之一起工作的其他對象)的過程。當容器在創建bean時將會注入這些依賴項。

    這個過程跟bean自己控制實例化,或者通過直接構造類或服務定位器模式來定位其依賴項的方式相反(因此稱為控制反轉)。

    • Spring5參考指南:IOC容器
    • Spring5參考指南:依賴注入

    Bean在Spring中就是一個業務組件,我們通過創建各種Bean來完成最終的業務邏輯功能。

    在容器內部,每個bean的定義可以被表示為BeanDefinition,通過BeanDefinition可以獲得bean的很多信息包括:包名,bean的作用域,生命周期,bean的引用和依賴等。

    • Spring5參考指南:Bean的創建
    • Spring5參考指南:Bean作用域
    • Spring5參考指南:Bean的生命周期管理
    • Spring5參考指南:容器擴展
    • Spring5參考指南:基于注解的容器配置
    • Spring5參考指南:組件掃描
    • Spring5參考指南:JSR 330標準注解

    從最開始的面向過程編程,到后面的面向對象編程,程序的編寫方式發生了重大的變化,面向對象編程將業務邏輯封裝成一個一個的對象,所有的操作都轉換為對對象的操作。

    面向對象編程現在使用的非常普遍,一般來說只要是高級語言都支持,但是它也有缺點,比如如果我們想做一些橫跨對象的操作(如統計各個對象里面某個方法的執行時間),這時候面向對象可以能力有不逮。我們可能需要在每個對象里面都添加一些統計時間的代碼,那么有沒有更好的方法來處理這個問題呢?

    面向方面編程(AOP)通過提供對程序結構的另一種思考方式來補充面向對象編程(OOP)。OOP中模塊化的關鍵單元是類,而AOP中模塊化的單元是方面。方面支持跨多個類型和對象的關注點(如事務管理)的模塊化。(在AOP文獻中,這種關注通常被稱為“橫切”關注。)

    • Spring5參考指南:SpringAOP簡介
    • Spring5參考指南:AspectJ注解
    • Spring5參考指南:基于Schema的AOP
    • Spring5參考指南:AOP代理
    • Spring5參考指南:AspectJ高級編程之Configurable

    通常來說一個Bean包含一個默認的無參構造函數,和屬性的get,set方法。

    org.springframework.beans 包里面有個很重要的類叫做BeanWrapper接口和他的實現BeanWrapperImpl,BeanWrapper提供了設置和獲取屬性值(單個或批量)、獲取屬性描述符和查詢屬性的功能,以確定它們是可讀的還是可寫的。

    此外,BeanWrapper還支持嵌套屬性,允許將子屬性的屬性設置為無限深度。BeanWrapper還支持添加標準JavaBeans屬性PropertyChangeListeners和VetoableChangeListeners,而不需要在目標類中支持代碼。最后,BeanWrapper提供了對設置索引屬性的支持。BeanWrapper通常不直接由應用程序代碼使用,而是由DataBinder和BeanFactory使用。

    • Spring5參考指南: BeanWrapper和PropertyEditor

    Spring提供了很方便的事件的處理機制,包括事件類ApplicationEvent和事件監聽類ApplicationListener。 他實現的是設計者模式,如果實現了ApplicationListener接口的bean部署到Spring容器中,則每次ApplicationEvent發布到ApplicationContext時,都會通知該bean。

    • Spring5參考指南:事件Event

    SpEL的全稱叫做Spring Expression Language。通常是為了在XML或者注解里面方便求值用的,通過編寫#{ }這樣的格式,即可使用。

    • Spring5參考指南: SpEL

    • Spring5參考指南:Environment

    Spring定義了Resource接口用來對資源的訪問,一般來說資源有兩種形式,一種是URL的形式從外部鏈接加載,一種是File的形式從系統本身查找。

    • Spring5參考指南: Resources

    Testing測試

    Spring團隊提倡測試驅動開發(TDD)。 Spring團隊發現正確使用控制反轉(IoC)肯定會使單元測試和集成測試更容易(因為類的setter方法和適當的構造函數的存在使得它們更容易在測試中連接在一起而不必設置服務定位器注冊表和類似結構)。

    例子待續…

    Data Access

    通過Spring可以方便的進行事物管理,并且為各種數據訪問技術(例如JDBC,Hibernate或JPA)提供了一致性的DAO接口,從而可以輕松地在上述持久性技術之間進行切換,不需要考慮對各種數據訪問技術的適配問題。

    例子待續…

    Web Servlet

    Spring提供了Spring MVC框架來實現對web的支持,與其他許多Web框架一樣,Spring MVC圍繞前端控制器模式進行設計,在該模式下,中央Servlet DispatcherServlet提供了用于請求處理的共享算法,而實際工作是由可配置的委托組件執行的。 該模型非常靈活,并支持多種工作流程。

    與任何Servlet一樣,都需要根據Servlet規范使用Java配置或在web.xml中聲明和映射DispatcherServlet。 反過來,DispatcherServlet使用Spring配置發現請求映射,視圖解析,異常處理等所需的委托組件。

    • Spring MVC 中的http Caching
    • @SessionAttributes 和 @SessionAttribute的區別

    Web Reactive

    除了對于傳統的Web Servlet的支持以外,Spring還引入了WebFlux框架和響應式WebClient,實現了對reactive系統的支持。

    WebFlux框架是非阻塞的,需要在并在Netty,Undertow和Servlet 3.1+容器等服務器上運行。

    例子待續…

    總結

    曾經的我很幼稚的花了幾個月的時間,一句話一句話的來翻譯官方的Spring 5.x文檔,現在這里奉獻給大家,歡迎大家下載,可以的話大家關注我一下,給我點個贊,謝謝了:

    Spring Framework 5.x中文指南

    不想下載的朋友可以通過這個鏈接直接閱讀 Spring-Framework-Documentation中文文檔閱讀鏈接

    本文鏈接:http://www.flydean.com/spring5/

    最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!

    歡迎關注我的公眾號:「程序那些事」,懂技術,更懂你!

    總結

    以上是生活随笔為你收集整理的Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: www.国产麻豆| 麻豆精品在线看 | 美女隐私无遮挡网站 | 国产成人在线观看网站 | 亚洲自拍偷拍图 | 大陆av片| 精品欧美久久 | 欧美丰满一区二区免费视频 | 奇米影视一区二区三区 | 精品一区二区久久久久蜜桃 | 青青伊人久久 | 永久国产 | 午夜欧美在线 | 亚洲图片欧美激情 | 97无码精品人妻 | 美国少妇性做爰 | 欧美一区三区二区在线观看 | 国产欧美在线 | 色哟哟视频在线观看 | 午夜精品久久久久久久蜜桃 | 国产免费成人在线视频 | 韩国主播青草55部完整 | 兄弟兄弟全集免费观看 | 一区二区不卡 | 日韩在线观看网址 | 色噜噜综合网 | 欧美日韩一区二区三区国产精品成人 | 女同性69囗交 | 深夜视频在线观看免费 | 在线成人欧美 | 亚洲精品影片 | 蜜桃成熟时李丽珍在线观看 | 欧美激情一区二区视频 | 成人一区二区免费视频 | 尤物网址在线观看 | av中文字幕第一页 | 成人在线免费av | 蜜桃视频黄色 | 精品视频一区在线观看 | 青青草免费看 | 一区二区三区四区高清视频 | 好爽快一点高潮了 | 欧美老熟妇一区二区 | 国产无遮挡又黄又爽又色视频 | 女性高潮视频 | 3d动漫啪啪精品一区二区中文字幕 | 新版天堂资源中文8在线 | 中文av资源| 天堂中文视频 | 桃花色综合影院 | 久久黄色免费网站 | 国产一级片一区 | 天天舔天天 | 冲田杏梨一区二区三区 | 懂色av蜜臀av粉嫩av分享吧最新章节 | 两性视频久久 | 亚洲国产综合av | 中文字幕在线观看网站 | 91福利小视频 | 天天摸天天 | 中文字幕人妻一区二区三区视频 | 人人草人人射 | 九九九九久久久久 | 超碰在线公开 | 亚洲色图另类 | 国产精品国产三级国产传播 | 99久久一区二区 | 国产精品永久 | 国产成人精品视频在线 | 在线看福利影 | 日本一区二区免费电影 | 嫩草视频入口 | 黄色一级毛片 | 老太脱裤让老头玩ⅹxxxx | 国产av日韩一区二区三区精品 | 成人免费黄色片 | 99久久精品国产一区二区三区 | 18无码粉嫩小泬无套在线观看 | 欧美中文日韩 | 狠狠干夜夜爽 | 欧美黑人添添高潮a片www | 中文在线资源 | 天天综合天天综合 | 黑人精品欧美一区二区蜜桃 | 欧美经典一区二区 | 岛国av中文字幕 | 色久婷婷| 欧美一区二区三区大屁股撅起来 | 黄色大片免费的 | 免费吸乳羞羞网站视频 | 快播在线视频 | 丁香花国语版普通话 | 最近2019中文字幕大全第二页 | 成人免费毛片色戒 | 九九热精品视频在线播放 | 91传媒理伦片在线观看 | 国产毛片基地 | 一区二区三区四区在线 | av在线专区 |