Java 程式設計師必備的 15 個框架,前 3 個地位無可動搖!

2022-01-06 程序人生

點擊上方「程序人生」,選擇「置頂公眾號」

第一時間關注程序猿(媛)身邊的故事

作者

棧長

本文為作者投稿,如需轉載,請聯繫原作者。

Java 程式設計師方向太多,且不說移動開發、大數據、區塊鏈、人工智慧這些,大部分 Java 程式設計師都是 Java Web/後端開發。那作為一名 Java Web 開發程式設計師必須需要熟悉哪些框架呢?

今天,棧長我給大家列舉了一些通用的、必須掌握的框架,學會這些,20K+ 不是問題。

1.Spring

毫無疑問,Spring 框架現在是 Java 後端框架家族裡面最強大的一個,其擁有 IOC 和 AOP 兩大利器,大大簡化了軟體開發複雜性。並且,Spring 現在能與所有主流開發框架集成,可謂是一個萬能框架,Spring 讓 JAVA 開發變得更多簡單。

官網:

https://spring.io/projects/spring-framework

源碼:

https://github.com/spring-projects/spring-framework

推薦:

Java 必看的 Spring 知識匯總

更多請在Java技術棧微信公眾號後臺回復關鍵字:spring。

2.Spring MVC

Spring MVC 是一個 MVC 開源框架,用來代替 Struts。它是 Spring 項目裡面的一個重要組成部分,能與 Spring IOC 容器緊密結合,以及擁有鬆耦合、方便配置、代碼分離等特點,讓 JAVA 程式設計師開發 WEB 項目變得更加容易。

官網:

https://spring.io/projects/spring-framework

源碼:

https://github.com/spring-projects/spring-framework

推薦:

從 0 開始手寫一個 Spring MVC 框架

更多請在Java技術棧微信公眾號後臺回復關鍵字:mvc。

3.Spring Boot

Spring Boot 是 Spring 開源組織下的一個子項目,也是 Spring 組件一站式解決方案,主要是為了簡化使用 Spring 框架的難度,簡省繁重的配置。

Spring Boot提供了各種組件的啟動器(starters),開發者只要能配置好對應組件參數,Spring Boot 就會自動配置,讓開發者能快速搭建依賴於 Spring 組件的 Java 項目。

官網:

https://spring.io/projects/spring-boot

源碼:

https://github.com/spring-projects/spring-boot

推薦:

更多請在Java技術棧微信公眾號後臺回復關鍵字:boot。

4.Spring Cloud

Spring Cloud 是一系列框架的有序集合,是目前最火熱的微服務框架首選,它利用Spring Boot 的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用 Spring Boot 的開發風格做到一鍵啟動和部署。

官網:

http://projects.spring.io/spring-cloud/

源碼:

https://github.com/spring-cloud

推薦:

更多請在Java技術棧微信公眾號後臺回復關鍵字:cloud。

5.Mybatis/ iBatis

iBatis 曾是開源軟體組 Apache 推出的一種輕量級的對象關係映射持久層(ORM)框架,隨著開發團隊轉投Google Code 旗下,ibatis 3.x 正式更名為 Mybatis,即:iBatis 2.x, MyBatis 3.x。

官網:

http://www.mybatis.org/mybatis-3/

源碼:

https://github.com/mybatis

推薦:

Mybatis 傳遞多個參數的 4 種方式

更多請關注Java技術棧微信公眾號,在後臺回覆:mybatis。

6.Hibernate

Hibernate 是一個開放原始碼的對象關係映射框架,它對 JDBC 進行了非常輕量級的對象封裝,它將 POJO 與資料庫表建立映射關係,是一個全自動的 orm 框架。Hibernate 可以自動生成 SQL 語句,自動執行,使得 Java 程式設計師可以隨心所欲的使用對象編程思維來操作資料庫。

官網:

http://hibernate.org/

源碼:

https://github.com/hibernate

7.Dubbo

Dubbo是阿里巴巴開源的基於 Java 的高性能 RPC 分布式服務框架,現已成為 Apache 基金會孵化項目。使用 Dubbo 可以將核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,可用於提高業務復用靈活擴展,使前端應用能更快速的響應多變的市場需求。

官網:

http://dubbo.apache.org

源碼:

https://github.com/apache/incubator-dubbo

推薦:

更多請在Java技術棧微信公眾號後臺回復關鍵字:dubbo。

8.Netty

Netty 是由 JBOSS 提供的一個開源的、異步的、基於事件驅動的網絡通信框架,用 Netty 可以快速開發高性能、高可靠性的網絡伺服器和客戶端程序,Netty 簡化了網絡應用的編程開發過程,使開發網絡編程變得異常簡單。

官網:

https://netty.io/

源碼:

https://github.com/netty/netty

9.Shiro

Apache Shiro是一個強大而靈活的開源安全框架,它乾淨利落地處理身份認證,授權,企業會話管理和加密。

官網:

http://shiro.apache.org/

源碼:

https://github.com/apache/shiro

10.Ehcache

EhCache 是一個純Java的進程內緩存框架,具有快速、精幹等特點,是 Hibernate 中默認的CacheProvider。它使用的是 JVM 的堆內存,超過內存可以設置緩存到磁碟,企業版的可以使用 JVM 堆外的物理內存。

官網:

http://www.ehcache.org/

源碼:

https://github.com/ehcache/ehcache3

推薦:

Ehcache介紹及整合Spring實現高速緩存

更多請在Java技術棧微信公眾號後臺回復關鍵字:ehcache。

11.Quartz

Quartz 是一個基於 Java 的廣泛使用的開源的任務調度框架,做過定時任務的沒有沒用過這個框架的吧?

官網:

http://www.quartz-scheduler.org/

源碼:

https://github.com/quartz-scheduler/quartz

12.Velocity

Velocity 是一個基於 Java 的模板引擎,簡單而強大的模板語言為各種 Web 框架提供模板服務,來適配 MVC 模型。

官網:

http://velocity.apache.org/

源碼:

https://github.com/apache/velocity-engine

13.jQuery

jQuery是一個快速、簡潔的 JavaScript 框架,它封裝 JavaScript 常用的功能代碼,提供一種簡便的 JavaScript 設計模式,極大地簡化了 JavaScript 編程。

雖然哥好久沒做 Web 開發了,但哥也不曾忘記,也還記得一些常用的寫法,如:

$("#wx").html("javastack");

官網:

http://jquery.com/

源碼:

http://jquery.com/download/

14.JUnit

JUnit 是一個 Java 語言的單元測試框架,絕大多數 Java 的開發環境都已經集成了 JUnit 作為其單元測試的工具。

官網:

https://junit.org

源碼:

https://github.com/junit-team/

15.Log4j

Log4j 是 Apache 的一個開源日誌框架,通過 Log4j 我們可以將程序中的日誌信息輸出到控制臺、文件等來記錄日誌。作為一個最老牌的日誌框架,它現在的主流版本是 Log4j2。Log4j2是重新架構的一款日誌框架,拋棄了之前 Log4j 的不足,以及吸取了優秀日誌框架 Logback 的設計。

官網:

https://logging.apache.org/log4j/2.x/

源碼:

https://logging.apache.org/log4j/2.x/source-repository.html

如果上面的大部分沒用過,甚至都沒聽說過,那就懷疑你是不是個假程式設計師了,要加油了。

這些都是 Java 程式設計師必備的開發框架,有些不一定是首選的選擇,但這些一定是 Java 程式設計師必備的。

- The End -

「若你有原創文章想與大家分享,歡迎投稿。」

加編輯微信ID,備註#投稿#:

程序 丨 druidlost  

小七 丨 duoshangshuang

點文末閱讀全文,看『程序人生』其他精彩文章推薦。

推薦閱讀:


print_r('點個讚吧');
var_dump('點個讚吧');
NSLog(@"點個讚吧!")
System.out.println("點個讚吧!");
console.log("點個讚吧!");
print("點個讚吧!");
printf("點個讚吧!\n");
cout << "點個讚吧!" << endl;
Console.WriteLine("點個讚吧!");
fmt.Println("點個讚吧!")
Response.Write("點個讚吧");
alert(』點個讚吧』)

相關焦點

  • Java程式設計師不能錯過的7個基本框架
    Java程式設計師不能錯過的7個基本框架 現在IT開發人員面對的較大挑戰就是複雜性,構建的應用越來越複雜。今天給大家列出Java程式設計師不能錯過的7個基本框架,或許會對你有幫助哦。
  • 關於後端程式設計師寫前端用什麼框架更好?
    還是痴迷java的那會兒,我也曾糾結於前端框架的選擇。一個人做一個項目還可以考慮,但是一個團隊前後臺分離、模塊化開發的時候,使用這種框架是一種災難!所以我是極度不建議使用9級封裝框架的。那果斷選1級封裝度的框架,可適當借鑑2~4級的框架。3 MOP(Money Oriented Program,面向人民幣編程)對於一直做後臺,趁過年放假想賺個外快的程序猿們,我知道你們也不想在前端領域有多大發展,搞好後臺就足夠一輩子衣食無憂了,所以還是選擇6~8級吧。此外,需要考慮搜尋引擎優化的項目,慎用富客戶端或者重ajax應用。什麼?
  • 阿里內部學習指南《Effective Java中文 第3版》程式設計師進階必備
    經典Jolt獲獎作品《Effective Java》的第3版這本書,對上一版內容進行了徹底的更新,介紹了如何充分利用從泛型到枚舉、從註解到自動裝箱的各種特性,幫助讀者更加有效地使用Java程式語言及其基本類庫:java.lang. java.util和java.io,以及子包,如java.util. concurrent和java.util.function等。
  • java程式設計師常用的11個API,趕緊收藏
    2, 3, 4};// i為索引值Arrays.setAll(data, i -> data[i] * 2);System.out.println(Arrays.toString(data)); // [2, 4, 6, 8]15.Arrays.parallelSetAll(T[] array, IntFunctionInteger[
  • 來自Java程式設計師的Python新手入門小結
    本篇概覽欣宸是個Java程式設計師,最近正在學習Python,本文記錄了學習過程,以及一點自己的思考,主要用途是作為筆記來總結和溫習,另外如果您也是一位初學Python的Java程式設計師,希望本文能給您一些參考;版本作業系統:macOS Big Sur (11.6) Anaconda3:2021.05
  • Java 15 正式發布, 14 個新特性,刷新你的認知!!
    OracleJDK 15 發布地址:https://www.oracle.com/java/technologies/javase/15all-relnotes.htmlOpenJDK 15 發布地址:
  • Oracle發布Java 15,希望數百萬人離開Rust、Kotlin等語言
    :包括文本塊和Z Garbage Collector,而密封類功能到達並進行模式匹配,並且記錄作為第二個預覽版本出現。 371:Hidden Classes隱藏類適用於在運行時生成類並通過反射間接使用它們的框架。隱藏類可以定義為訪問控制嵌套的成員,並且可以獨立於其他類進行卸載。
  • 一文吃透Java集合框架
    說明:對於以上的框架圖有如下幾點說明1、所有集合類都位於java.util包下。Java的集合類主要由兩個接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,這兩個接口又包含了一些子接口或實現類。2、集合接口:6個接口(短虛線表示),表示不同集合類型,是集合框架的基礎。3、抽象類:5個抽象類(長虛線表示),對集合接口的部分實現。可擴展為自定義集合類。
  • Java反序列化漏洞-金蛇劍之Hibernate(上)
    主角:hibernate介紹:Hibernate是一個開放原始碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與資料庫表建立映射關係,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程式設計師可以隨心所欲的使用對象編程思維來操縱資料庫。
  • 程式設計師需知的 59 個網站
    網站封面4、MyBatis地 址:https://mybatis.org/mybatis-3/zh/index.html簡 介:國內最流行的Java持久層框架,而且幸運的是,MyBatis文檔是有中文版的。
  • Java 集合框架綜述,這篇讓你吃透!
    說明:對於以上的框架圖有如下幾點說明1、所有集合類都位於java.util包下。Java 的集合類主要由兩個接口派生而出:Collection 和 Map,Collection 和 Map 是 Java 集合框架的根接口,這兩個接口又包含了一些子接口或實現類。2、集合接口:6 個接口(短虛線表示),表示不同集合類型,是集合框架的基礎。3、抽象類:5 個抽象類(長虛線表示),對集合接口的部分實現。可擴展為自定義集合類。
  • Java學到什麼程度才能叫精通?
    下面是我總結的一些初中級Java程式設計師必備的知識:總結:初中級 Java 程式設計師必須掌握的知識。熟練掌握數據結構、算法、作業系統、計算機網絡等基礎知識。下面我會列出一些我個人覺得Java程式設計師必備的書籍。相關視頻教程:上面發的最新的頻可能有一些知識點沒有比如:SpringBoot、Github、SpringCloud、Jenkins等等。
  • JDK/Java 15發布
    JDK/Java 15 已經發布。根據發布規劃,這是一個短期版本,只會受到 Oracle 6 個月的支持,直到明年 3 月 JDK 16 發布。受到 8 年長期支持的 LTS 每 3 年發布一個,上一次是 18 年 9 月的 JDK 11,下一次則是 JDK 17,將於明年發布。
  • 數據持久化框架為什麼放棄 Hibernate、JPA、Mybatis,最終選擇 JDBCTemplate!
    這符合ORM最初的理想,ORM認為Java程式設計師使用OO的思維方式,和關係資料庫的思維方式差距巨大,為了填補對象和關係思維方式的鴻溝,必須做一個對象到關係的映射,然後在Java的對象世界中,程式設計師可以使用純的對象的思維方式,查詢POJO對象,查詢條件是對象屬性,不再需要有任何表、欄位等關係的概念,這樣java程式設計師就更容易做持久層的操作。
  • 幾個數據持久化框架Hibernate、JPA、Mybatis、JOOQ和JDBC Template的比較
    這符合ORM最初的理想,ORM認為Java程式設計師使用OO的思維方式,和關係資料庫的思維方式差距巨大,為了填補對象和關係思維方式的鴻溝,必須做一個對象到關係的映射,然後在Java的對象世界中,程式設計師可以使用純的對象的思維方式,查詢POJO對象,查詢條件是對象屬性,不再需要有任何表、欄位等關係的概念,這樣java程式設計師就更容易做持久層的操作。
  • GitHub 上那些值得一試的 Java 開源庫
    在這多達330,000個JAVA開源庫中,我收集了下面這些或許也值得你一試的Java開源庫。Strmen-java是一個字符串處理工具,你可以通過maven將它引入到項目中。除了Java本身的字符串處理方式外,我們還可以使用Apache Common Langs裡的StringUtils來簡化String的操作。
  • 20個非常有用的Java程序片段
    點擊上方「程式設計師共讀」,選擇「置頂公眾號」關鍵時刻,第一時間送達
  • Java基礎面試題簡單總結
    :會執行,在return前執行23、用最有效率的方法算出2乘以8等於幾答:2 << 324、兩個對象值相同答:是能夠定義成為一個中文的,因為java中以unicode編碼,一個char佔16個字節,所以放一個中文是沒問題的29、GC是什麼?
  • Java程式設計師求職必學:Spring boot學習指南!
    咳咳,今天學姐就來和你們說說Spring對於Java程式設計師的重要性。首先,Spring 官網首頁是這麼介紹自己的——「Spring: the source for modern Java」,這也意味著 Spring 與 Java 有著密切的關係!
  • 人生第一行經典代碼,決定程式設計師的出身,更決定程式設計師的職業生涯
    ,往往決定了程式設計師的出身,更決定了程式設計師的職業生涯。第一行代碼,決定的是未來程式設計師的入門程式語言。所以,換而言之,程式設計師的入門語言,決定了程式設計師的教育背景,也決定了未來編程路上能走多遠。程式設計師的入門語言越簡單,越容易被軟體行業所淘汰。1、html:路人甲有沒有? 編程旅途中的路人甲。