初識spring

来源:https://www.cnblogs.com/gr342623/archive/2019/03/15/10534827.html
-Advertisement-
Play Games

概述: Spring 是最受歡迎的企業級 Java 應用程式開發框架,數以百萬的來自世界各地的開發人員使用 Spring 框架來創建性能好、易於測試、可重用的代碼。 Spring 是輕量級的框架,其基礎版本只有 2 MB 左右的大小。 Spring 框架的核心特性是可以用於開發任何 Java 應用程 ...


   概述:

  Spring 是最受歡迎的企業級 Java 應用程式開發框架,數以百萬的來自世界各地的開發人員使用 Spring 框架來創建性能好、易於測試、可重用的代碼。 Spring 是輕量級的框架,其基礎版本只有 2 MB 左右的大小。 Spring 框架的核心特性是可以用於開發任何 Java 應用程式,但是在 Java EE 平臺上構建 web 應用程式是需要擴展的。 Spring 框架的目標是使 J2EE 開發變得更容易使 用,通過啟用基於 POJO(簡單的Java對象) 編程模型來促進良好的編程實踐。

  優點:輕量級:Spring在大小和透明性方面屬於輕量級,基礎版本的Spring框架大約只有2MB。控制反轉(IOC):Spring使用控制反轉技術實現了松耦合。依賴被註入到對象,而不是創建或尋找依賴對象。面向切麵編程(AOP): Spring支持面向切麵編程,同時把應用的業務邏輯與系統的服務分離開來。容器:Spring包含並管理對象的配置及生命周期。MVC框架:Spring的web框架是一個設計優良的web MVC框架,很好的取代了一些web框架。事務管理:Spring對本地業務和全局業務(JAT)提供了統一的事務管理介面。異常處理:Spring提供了一個方便的API將特定技術的異常(由JDBC, Hibernate, 或JDO拋出的異常)轉化為統一的Unchecked異常。

  依賴註入(DI):

Spring 最認同的技術是控制反轉的依賴註入(DI)模式。控制反轉(IoC)是一個通用的概念,它可以用許多不同的方式去表達,依賴註入僅僅是控制反轉的一個具體的例 子。 當編寫一個複雜的 Java 應用程式時,應用程式類應該儘可能的獨立於其他的 Java 類來增加這些類可重用可能性,當進行單元測試時,可以使它們獨立於其他類進行測試。 依賴註入(或者有時被稱為配線)有助於將這些類粘合在一起,並且在同一時間讓它們保持獨立。 到底什麼是依賴註入?讓我們將這兩個詞分開來看一看。這裡將依賴關係部分轉化為兩個類之間的關聯。例如,類 A 依賴於類 B。現在,讓我們看一看第二部分,註入。所有 這一切都意味著類 B 將通過 IoC 被註入到類 A 中。 依賴註入可以以向構造函數傳遞參數的方式發生,或者通過使用 setter 方法 post-construction。由於依賴註入是 Spring 框架的核心部分,所以我將在一個單獨的章節中 利用很好的例子去解釋這一概念。

面向切麵的程式設計(AOP):

Spring 框架的一個關鍵組件是面向切麵的程式設計(AOP)框架。一個程式中跨越多個點的功能被稱為橫切關註點,這些橫切關註點在概念上獨立於應用程式的業務邏輯。有 各種各樣常見的很好的關於方面的例子,比如日誌記錄、聲明性事務、安全性,和緩存等等。 在 OOP 中模塊化的關鍵單元是類,而在 AOP 中模塊化的關鍵單元是方面。AOP 幫助你將橫切關註點從它們所影響的對象中分離出來,然而依賴註入幫助你將你的應用程式對 象從彼此中分離出來。 Spring 框架的 AOP 模塊提供了面向方面的程式設計實現,可以定義諸如方法攔截器和切入點等,從而使實現功能的代碼徹底的解耦出來。使用源碼級的元數據,可以用類似 於.Net屬性的方式合併行為信息到代碼中。我將在一個獨立的章節中討論更多關於 Spring AOP 的概念。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. ios中音頻不自動播放; 原因:出於節省流量的初衷,ios系統禁止音視頻自動播放。 解決方案:使用微信的JS-SDK。 DEMO: 先引入微信的JS-SDK, 然後在wx.ready中調用play方法播放。 2. 微信升級到7.0版本以後,填寫表單信息彈出鍵盤會把頁面頂上去,鍵盤消失的時候頁面 ...
  • 第一次寫博客,想了半天先從簡單的三層架構開始吧,希望能幫助到你! 簡單介紹一下三層架構, 三層架構從上到下分:表現層(UI),業務邏輯層(BLL),數據訪問層(DAL)再加上數據模型(Model),用ef訪問資料庫,Model也就是與資料庫表映射的實體。廢話少說,上代碼。 Model層 為方便說明, ...
  • 程式員在普通人的印象里是一份嚴(ku)謹(bi)的職業,也是一個被搞怪吐槽樂此不疲的職業,程式員們面對複雜的代碼敲打電腦時連眉頭都不會皺一下,但是有一個詞卻是他們痛苦的根源,它就是Bug。 有不少的新手程式員,剛開始都是從修BUG開始做起的。 修bug有助於熟悉項目,瞭解大概哪些類參與了執行線路,相 ...
  • 一,如何渲染數據 什麼是渲染數據:簡單的說就是把後臺數據渲染到頁面當中去。 1.渲染數據的方式有四種 (1)字元串拼接 1.案例分析 原有的list中有三個li,並且每個li身上有onmouseover事件 2.字元串拼接是最常用的方法 3.優點:只進行一次dom迴流 4.缺點:原有dom的事件都會 ...
  • RabbitMQ簡介 RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟體(亦稱面向消息的中間件)。 RabbitMQ是一套開源(MPL)的消息隊列服務軟體,是由LShift提供的一個Advanced Message Queuing Protocol(AMQP)的開源實現,由以高性 ...
  • 最近幫朋友做個網站,實現用郵箱訂閱功能,所以現在把這個發送郵件的功能放在這裡,算是這兩天工作的總結吧! 首先,想要實現訂閱功能,要把郵箱保存,但是這個做的是個小網站,前後臺交互的太少了,所以我就直接保存在了文件裡面,用到的時候,直接讀取。 下麵是保存郵箱號到本地文件的代碼。 這裡用到的就是簡單的輸入 ...
  • 通過前面的學習,使用Spring Cloud實現微服務的架構基本成型,大致是這樣的: 我們使用Spring Cloud Netflix中的Eureka實現了服務註冊中心以及服務註冊與發現;而服務間通過Ribbon或Feign實現服務的消費以及均衡負載;通過Spring Cloud Config實現了 ...
  • 1.什麼是hibernate及hibernate工作原理、流程和為什麼要用Hibernate? 答: 定義:Hibernate是一個開放源代碼的對象關係映射(ORM)框架,它對JDBC進行了非常輕量級的對象封裝, 使得Java程式員可以隨心所欲的使用面向對象的編程思維來操縱資料庫。Hibernate ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...