本文章「Learn Spring Framework In One Month」目的在提供讀者可快速入手,Spring是一個輕量級Java開發框架,故在於基礎架構分面,本篇文章分為核心概念、維運概念及Web概念的功能特性,融合各類知識與情境性的運用。提供各界開發者可成為相關的開發文章。
最早由Rod Johnson創建,是一個分層的JavaSE/EE full-stack(SSR)輕量級開源框架,目的在於解決企業級應用開發的業務邏輯層和其他各層的耦合問題。Spring Framework至今已集成了20多個模塊,所有核心模組分佈在核心容器(Core Container)區塊、數據接取/集成(Data Access/Integration)層級、Web層、AOP(Aspect Oriented Programming,面向式切面的編譯)模組、植入(Instrumentation)模塊、消息傳輸(Messaging)和測試(Test)模組當中。
- Spring Boot
- Spring MVC
- Spring Reactor
- SpringFox Swagger
- Spring Actuator
- Spring Test
- JUnit
- Mockito-all
- 結語
前幾篇的介紹偏向簡單入門,令讀者可以打好基礎,會提供多種情境實例,讓讀者多一些開發範例可參考,提供未來個來開發新手快速上手。
本篇文章偏向基礎教學,不會過度的深入探討每項模組設計的原理。但會粗略的稍微介紹各類模組背景及原理,所有技術來源皆為過往業界的技術經驗、書籍資訊來源
或個人的side-project經驗來分享。學習完後,讀者能夠掌握基本的Spring框架開發架構,也可提升自身對Java Spring的開發框架進一步認知。
目前主流框架有Struts 2、Spring 5框架兩套,我們將根據SSR架構進行安全性、彈性化、便利性及維運性的開發效率分析,滿分為5分(提供下表作參考),Struts-2 是一套採用Servlet 套件的MVC(Model View Controller)架構框架,首先,在於安全性,皆透過既有的Filter介面進行實現繼承,而Spring框架是一套輕便型的框架,提供了多種彈性的Spring Security套件,支援多種方式整合進行實現,第二,彈性化議題,Struts-2使用XML檔案及註解(Annotation)去配置,並在每個ActionSupport都須配置對應的行為路徑(Action Path)的XML檔,Spring使用註解(Annotation)及依賴性注入(DI,Dependency Injection)進行對應Templates內的各項html文檔,但超連結文檔相對重要,故尚缺乏部分彈性,相對與前者相較來的便利許多,減少許多設定檔的負擔,第三,便利性議題,Struts-2相較Spring而言,最不便利,各類物件關聯性皆透過XML組態檔進行控制,故較不建議採用,最後,依據維運性而言,Struts已有一套制式化的架構非常不平易近人,相較Spring 已採用領域驅動設計更便於支援多種套件整合,便於我們進行各類橫向(Cross-cutting)切割任務運作,故我們選擇最佳方案為Spring framework。
Struts 2 | Spring 5 | |
---|---|---|
安全性 | 4 | 5 |
彈性化 | 3 | 4.5 |
便利性 | 2 | 5 |
維運性 | 3 | 4 |
首先,你必須要有一台電腦,你說對不對嗎? 對~所以我們這邊使用MAC筆記型電腦
No. | Tools/Framework Name |
---|---|
1. | Java 15 |
2. | Gradle 6.7.1 |
3. | Docker 20.10.7 |
4. | Postgresql 10 |
5. | Spring Framework |
6. | Intellj. IDEA.2021 (Optional) |
7. | iTerm 2 (Optional) |
8. | Vue 2 Framework (Optional) |
9. | Postman 7.2.0 (Optional) |
本技術分享文章來源皆來至小編近十幾年來的實務與業界辛路歷程、書刊來源及網路文章分享整理後所得,各篇文章結構分為前提摘要、原理介紹、架構內容敘述、範例分享及參考來源,歡迎各讀者透過分享範例與對照文中的敘述,來進一步來探討未來的發展與概況。
Introduction to Struts in Java
[Domain Driven Design] - 簡介和為什麼你需要