Spring Boot 有哪些優點?
減少開發,測試時間和努力。
使用 JavaConfig 有助於避免使用 XML。
避免大量的 Maven 匯入和各種版本衝突。
提供意見發展方法。
透過提供預設值快速開始開發。
沒有單獨的 Web 伺服器需要,這意味著你不再需要啟動 Tomcat,Glassfish 或其
他任何東西。
需要更少的配置 因為沒有 web。xml 檔案,只需新增用@ Configuration 註釋的類,
然後新增用@Bean 註釋的方法,Spring 將自動載入物件並像以前一樣對其進行管理。
您甚至可以將@Autowired 新增到 bean 方法中,以使 Spring 自動裝入需要的依賴關係
中。
基於環境的配置 使用這些屬性,您可以將您正在使用的環境傳遞到應用程式:
-Dspring。profiles。active = {enviornment}。在載入主應用程式屬性檔案後,Spring 將
在(application{environment} 。properties)中載入後續的應用程式屬性檔案。
如何重新載入 Spring Boot 上的更改,而無需重新啟動伺服器?
這可以使用 DEV 工具來實現,透過這種依賴關係,您可以節省任何更改,嵌入式
tomcat 將重新啟動。
Spring Boot 有一個開發工具(DevTools)模組,它有助於提高開發人員的生產力,Java 開發人員面臨的一個主要挑戰是將檔案更改自動部署到伺服器並自動重啟伺服器。
開發人員可以重新載入 Spring Boot 上的更改,而無需重新啟動伺服器,這將消除每次手動部署更改的需要,Spring Boot 在釋出它的第一個版本時沒有這個功能。
這是開發人員最需要的功能,DevTools 模組完全滿足開發人員的需求,該模組將在生產環境中被禁用,還提供 H2 資料庫控制檯以更好地測試應用程式。
常見的系統架構風格有哪些?各有什麼優缺點?
1、單體架構
單體架構也稱之為單體系統或者是單體應用。就是一種把系統中所有的功能、模組耦
合在一個應用中的架構方式。
單體架構特點:打包成一個獨立的單元(導成一個唯一的 jar 包或者是 war 包),會一個進
程的方式來執行。
單體架構的優點、缺點
優點:
專案易於管理
部署簡單
缺點:
測試成本高
可伸縮性差
可靠性差
迭代困難
跨語言程度差
團隊協作難
MVC 架構:
MVC 架構特點:
MVC 是模型(Model)、檢視(View)、控制器(Controller)3 個單詞的縮寫,下面我們從
這 3 個方面來講解 MVC 中的三個要素。
Model 是指資料模型:
是對客觀事物的抽象。如一篇部落格文章,我們可能會以一個 Post
類來表示,那麼,這個 Post 類就是資料物件。 同時,部落格文章還有一些業務邏輯,如
釋出、回收、評論等,這一般表現為類的方法,這也是 model 的內容和範疇。 對於
Model,主要是資料、業務邏輯和業務規則。相對而言,這是 MVC 中比較穩定的部分,
一般成品後不會改變。 開發初期的最重要任務,主要也是實現 Model 的部分。這一部
分寫得好,後面就可以改得少,開發起來就快。
View 是指檢視:
也就是呈現給使用者的一個介面,是 model 的具體表現形式,也是收集
使用者輸入的地方。 如你在某個部落格上看到的某一篇文章,就是某個 Post 類的表現形式。
View 的目的在於提供與使用者互動的介面。換句話說,對於使用者而言,只有 View 是可見
的、可操作的。事實上也是如此,你不會讓使用者看到 Model,更不會讓他直接操作 Model,
你只會讓使用者看到你想讓他看的內容。 這就是 View 要做的事,他往往是 MVC 中變化
頻繁的部分,也是客戶經常要求改來改去的地方,今天你可能會以一種形式來展示你的
博文,明天可能就變成別的表現形式了。
Contorller 指的是控制器:
主要負責與 model 和 view 打交道。 換句話說,model 和
view 之間一般不直接打交道,他們老死不相往來。view 中不會對 model 作任何操作,
model 不會輸出任何用於表現的東西,如 HTML 程式碼等。這倆甩手不幹了,那總得有人
來幹吧,只能 Controller 上了。 Contorller 用於決定使用哪些 Model,對 Model 執行
什麼操作,為檢視準備哪些資料,是 MVC 中溝通的橋樑。
MVC 架構優缺點
優點:
各施其職,互不干涉。
在 MVC 模式中,三個層各施其職,所以如果一旦哪一層的需求發生了變化,就只需
要更改相應的層中的程式碼而不會影響到其它層中的程式碼。
有利於開發中的分工。
在 MVC 模式中,由於按層把系統分開,那麼就能更好的實現開發中的分工。網頁設
計人員可以進行開發檢視層中的 JSP,對業務熟悉的開發人員可開發業務層,而其它開
發人員可開發控制層。
有利於元件的重用。
分層後更有利於元件的重用。如控制層可獨立成一個能用的元件,檢視層也可做成通
用的操作介面。
缺點:
增加了系統結構和實現的複雜性。
檢視與控制器間的過於緊密的連線。
檢視對模型資料的低效率訪問。