更新時間:2020-01-09 14:58:14 來源:動力節點 瀏覽2490次
1. 概述
今天我們將討論 Spring 作為最流行的 Java 框架之一的主要價值體現。
最重要的是,我們將嘗試理解 Spring 成為我們選擇框架的原因。Spring 的詳細信息及其組成部分已在我們 之前的教程中廣泛介紹 。 因此,我們將跳過介紹性的“如何”部分,并主要關注“為什么”。
2. 為什么使用任何框架?
在我們開始任何關于 Spring 的討論之前,首先讓我們了解為什么我們首先需要使用任何框架。
像 Java 這樣的通用編程語言能夠支持多種應用程序。更不用說 Java 每天都在積極地改進。
此外,還有無數開源和專有庫在這方面支持 Java 。
那么,我們究竟為什么需要一個框架呢?老實說,使用框架來完成任務并不是絕對必要的。但是,出于以下幾個原因,使用一個通常是明智的:
幫助我們 專注于核心任務,而不是與之相關的樣板
以設計模式的形式匯集了多年的智慧
幫助我們遵守行業和監管標準
降低應用程序的總體擁有成本
我們剛剛觸及了表面,我們必須說,好處難以忽視。但這不可能是積極的,所以要注意的是:
強制我們 以特定的方式編寫應用程序
綁定到特定版本的語言和庫
添加到應用程序的資源占用
坦率地說,在軟件開發和框架中沒有什么銀彈,Java 當然也不例外。因此,應該根據上下文來選擇哪個框架或不用框架。
在本文的最后,我們將更好地做出關于 Java 中的 Spring 的決策。
3. Spring 生態系統的簡要概述
在我們開始對 Spring 框架進行定性評估之前,讓我們仔細看看 Spring 生態系統是什么樣子的。
Spring 是在2003年的某個時候出現的,當時 Java 企業版發展迅速,開發企業應用程序很令人興奮,但也很乏味!
Spring 最初是 Java 的 一個控制反轉 (IoC)容器 。我們仍然主要將 Spring 與它聯系起來,事實上,它構成了框架的核心,以及在此基礎上開發的其他項目。
3.1. Spring 框架
Spring 框架 被劃分為多個模塊 ,這使得在任何應用程序中都可以很容易地選擇要使用的部分:
Core :提供核心特性,如 DI (依賴注入)、國際化、驗證和 AOP (面向切面編程)
Data Access :支持通過JTA ( Java事務 API )、JPA (Java 持久性 API )和 JDBC (Java 數據庫連接)訪問數據
Web :同時支持 Servlet API( Spring MVC )和最近的反應式 API( Spring WebFlux ),另外還支持WebSockets、STOMP 和 WebClient
Integration :支持通過 JMS(Java 消息服務)、JMX (Java 管理擴展)和 RMI (遠程方法調用)集成到企業 Java
Testing :通過模擬對象、測試裝置、上下文管理和緩存支持單元和集成測試
3.2. Spring 項目
但是,Spring 更有價值的是 一個強大的生態系統,這個生態系統多年來一直在發展,并且還在不斷發展。 它們的結構是 Spring 項目 ,它們是在 Spring 框架之上開發的。
盡管 Spring 項目的清單很長,而且一直在變化,但仍有一些值得一提的地方:
Boot :為我們提供了一組高度自定義但可擴展的模板,用于在幾乎不花費時間的情況下創建基于 Spring 的各種項目。它使使用嵌入式 Tomcat 或類似容器創建獨立的 Spring 應用程序變得非常容易。
Cloud :提供支持輕松地開發一些常見的分布式系統模式,如服務發現,斷路器,以及 API 網關。 它有助于我們減少在本地,遠程甚至托管平臺中部署此類樣板模式的工作量。
Security :提供一種健壯的機制,以高度可定制的方式為基于 Spring 的項目開發身份驗證和授權。通過最少的聲明性支持,我們可以獲得對常見攻擊的保護,比如會話固定、點擊劫持和跨站點請求偽造。
Mobile :提供檢測設備并相應地調整應用程序行為的功能。此外,支持設備感知的視圖管理,以獲得最佳用戶體驗、站點首選項管理和站點切換器。
Batch :提供輕量級框架,用于為數據歸檔等企業系統開發批處理應用程序。對調度、重啟、跳過、收集指標和日志記錄有直觀的支持。此外,還支持通過優化和分區對大容量作業進行擴展。
毋庸置疑,這是對 Spring 所提供內容的一個相當抽象的介紹。但是它為我們提供了關于 Spring 的組織和廣度的足夠的基礎,以便我們進一步討論。
4. Spring 操作
人們習慣于添加一個 hello world 程序來了解任何新技術。
讓我們來看看 Spring 如何讓編寫一個不僅僅是 Hello World 的程序變得輕松自如 。我們將創建一個應用程序,該應用程序將 CRUD 操作公開為一個域實體(如由內存數據庫支持的雇員)的 REST API。更重要的是,我們將使用基本認證來保護我們的突變端點。最后,沒有好的、舊的單元測試,任何應用程序都不能真正完成。
以上就是動力節點Java培訓機構小編介紹的“為什么選擇Spring作為Java 框架?java spring框架教程”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
相關視頻教程
spring4教程下載:http://www.dabaquan.cn/v60/
springmvc入門教程:http://www.dabaquan.cn/v40/
springboot菜鳥教程:http://www.dabaquan.cn/v102/
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習