更新時(shí)間:2022-03-22 09:26:14 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1942次
Spring是用于企業(yè) Java 的開源開發(fā)框架。Spring Framework 的核心功能可用于開發(fā)任何 Java 應(yīng)用程序,但也有一些擴(kuò)展可用于在 Java EE 平臺(tái)之上構(gòu)建 Web 應(yīng)用程序。Spring 框架旨在通過(guò)啟用基于 POJO(Plain Old Java Object)的編程模型,使 J2EE 開發(fā)更易于使用并促進(jìn)良好的編程實(shí)踐。
Java 運(yùn)行時(shí)環(huán)境 (JRE)基本上是執(zhí)行 Java 程序的 Java 虛擬機(jī) ( JVM )。它還包括用于小程序執(zhí)行的瀏覽器插件。
Java 開發(fā)工具包 (JDK)是功能齊全的 Java 軟件開發(fā)工具包,包括 JRE、編譯器和工具(如 JavaDoc 和 Java 調(diào)試器),以便用戶開發(fā)、編譯和執(zhí)行 Java 應(yīng)用程序。
以下是使用 Spring Framework 的幾個(gè)巨大好處的列表:
輕量級(jí)- 在尺寸和透明度方面,彈簧是輕量級(jí)的。spring 框架的基本版本約為 2MB。
控制反轉(zhuǎn) (IOC) - 在彈簧中使用控制反轉(zhuǎn)技術(shù)實(shí)現(xiàn)松散耦合。對(duì)象提供它們的依賴關(guān)系,而不是創(chuàng)建或?qū)ふ乙蕾噷?duì)象。
面向方面 (AOP) - Spring 支持面向方面的編程,并通過(guò)將應(yīng)用程序業(yè)務(wù)邏輯與系統(tǒng)服務(wù)分離來(lái)實(shí)現(xiàn)內(nèi)聚開發(fā)。
Container - Spring 包含并管理應(yīng)用程序?qū)ο蟮纳芷诤团渲谩?/p>
MVC 框架- Spring 的 web 框架是一個(gè)精心設(shè)計(jì)的 web MVC 框架,它為諸如 Struts 或其他過(guò)度設(shè)計(jì)或不太流行的 web 框架之類的 web 框架提供了一個(gè)很好的替代方案。
事務(wù)管理- Spring 提供一致的事務(wù)管理接口,可以縮小到本地事務(wù)(例如,使用單個(gè)數(shù)據(jù)庫(kù))并擴(kuò)展到全局事務(wù)(例如,使用 JTA)。
異常處理- Spring 提供了一個(gè)方便的 API 來(lái)將特定于技術(shù)的異常(例如,由 JDBC、Hibernate 或 JDO 拋出)轉(zhuǎn)換為一致的、未經(jīng)檢查的異常。
JDBC 是一個(gè)抽象層,允許用戶在數(shù)據(jù)庫(kù)之間進(jìn)行選擇。JDBC 使開發(fā)人員能夠用 Java 編寫數(shù)據(jù)庫(kù)應(yīng)用程序,而不必關(guān)心特定數(shù)據(jù)庫(kù)的底層細(xì)節(jié)。
類充當(dāng)藍(lán)圖,定義了許多對(duì)象共有的屬性、狀態(tài)和行為。對(duì)象是類的一個(gè)實(shí)例。例如,您有一個(gè)名為Vehicle的類,而Car是該類的對(duì)象。您可以為名為Vehicle的類創(chuàng)建任意數(shù)量的對(duì)象,例如Van、Truck和Auto。
new運(yùn)算符用于創(chuàng)建類的對(duì)象。當(dāng)類的對(duì)象被實(shí)例化時(shí),系統(tǒng)會(huì)為類中存在的每個(gè)數(shù)據(jù)成員分配內(nèi)存。
sleep()是一個(gè)阻塞操作,它將共享對(duì)象的監(jiān)視器/鎖保持指定的毫秒數(shù)。
wait()另一方面,只是暫停線程,直到(a)經(jīng)過(guò)指定的毫秒數(shù)或(b)它從另一個(gè)線程(以先到者為準(zhǔn))接收到所需的通知,而不保持對(duì)監(jiān)視器/鎖定的保留共享對(duì)象。
sleep()最常用于定期輪詢或檢查某些結(jié)果。wait()通常在多線程應(yīng)用程序中與 , 結(jié)合使用notify() / notifyAll(),以實(shí)現(xiàn)同步并避免競(jìng)爭(zhēng)條件。
Java無(wú)法將頂級(jí)類設(shè)為靜態(tài),但您可以像這樣模擬靜態(tài)類:
Declare your class final - 防止擴(kuò)展類,因?yàn)閿U(kuò)展靜態(tài)類沒有意義
將構(gòu)造函數(shù)設(shè)為私有 - 防止客戶端代碼實(shí)例化,因?yàn)閷?shí)例化靜態(tài)類沒有意義
將類的所有成員和函數(shù)設(shè)為靜態(tài) - 由于無(wú)法實(shí)例化類,因此無(wú)法調(diào)用實(shí)例方法或訪問(wèn)實(shí)例字段
請(qǐng)注意,編譯器不會(huì)阻止您聲明實(shí)例(非靜態(tài))成員。僅當(dāng)您嘗試調(diào)用實(shí)例成員時(shí)才會(huì)出現(xiàn)此問(wèn)題
實(shí)踐持續(xù)集成的開發(fā)人員盡可能頻繁地將他們的更改合并回主分支。通過(guò)這樣做,您可以避免當(dāng)人們等待發(fā)布日將他們的更改合并到發(fā)布分支時(shí)通常發(fā)生的集成地獄。
持續(xù)交付是持續(xù)集成的延伸,以確保您可以以可持續(xù)的方式快速向客戶發(fā)布新的更改。這意味著除了自動(dòng)化測(cè)試之外,您還自動(dòng)化了發(fā)布過(guò)程,您可以通過(guò)單擊按鈕隨時(shí)部署應(yīng)用程序。
持續(xù)部署比持續(xù)交付更進(jìn)一步。通過(guò)這種做法,通過(guò)生產(chǎn)管道所有階段的每個(gè)更改都會(huì)發(fā)布給您的客戶。沒有人為干預(yù),只有失敗的測(cè)試才會(huì)阻止將新的更改部署到生產(chǎn)中。
控制器提供對(duì)您通常通過(guò)服務(wù)接口定義的應(yīng)用程序行為的訪問(wèn)。控制器解釋用戶輸入并將其轉(zhuǎn)換為由視圖表示給用戶的模型。Spring 以一種非常抽象的方式實(shí)現(xiàn)了一個(gè)控制器,這使您能夠創(chuàng)建各種各樣的控制器。
Spring IoC 創(chuàng)建對(duì)象,將它們連接在一起,配置它們,并管理它們從創(chuàng)建到銷毀的完整生命周期。Spring 容器使用依賴注入 (DI) 來(lái)管理組成應(yīng)用程序的組件。
Spring 中有兩種類型的 IoC 容器:
Bean Factory 容器- 這是為 DI 提供基本支持的最簡(jiǎn)單的容器。在資源有限的情況下,如移動(dòng)設(shè)備或基于 applet 的應(yīng)用程序,通常首選 BeanFactory
Spring ApplicationContext Container - 此容器添加了更多特定于企業(yè)的功能,例如從屬性文件解析文本消息的能力以及將應(yīng)用程序事件發(fā)布到感興趣的事件偵聽器的能力。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)