1. 程式人生 > >Java 程式設計師必備的 15 個框架

Java 程式設計師必備的 15 個框架

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 程式設計師必備的。