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