Java 程序員方向太多,且不說(shuō)移動(dòng)開發(fā)、大數(shù)據(jù)、區(qū)塊鏈、人工智能這些,大部分 Java 程序員都是 Java Web/后端開發(fā)。那作為一名 Java Web 開發(fā)程序員必須需要熟悉哪些框架呢?
1.Spring
毫無(wú)疑問(wèn),Spring 框架現(xiàn)在是 Java 后端框架家族里面最強(qiáng)大的一個(gè),其擁有 IOC 和 AOP 兩大利器,大大簡(jiǎn)化了軟件開發(fā)復(fù)雜性。并且,Spring 現(xiàn)在能與所有主流開發(fā)框架集成,可謂是一個(gè)萬(wàn)能框架,Spring 讓 JAVA 開發(fā)變得更多簡(jiǎn)單。
官網(wǎng): https://spring.io/projects/spring-framework ework
源碼: https://github.com/spring-proje s/spring-framework
2.Spring MVC
Spring MVC 是一個(gè) MVC 開源框架,用來(lái)代替 Struts。它是 Spring 項(xiàng)目里面的一個(gè)重要組成部分,能與 Spring IOC 容器緊密結(jié)合,以及擁有松耦合、方便配置、代碼分離等特點(diǎn),讓 JAVA 程序員開發(fā) WEB 項(xiàng)目變得更加容易。
官網(wǎng): https://spring.io/projects/sprin mework
源碼: https://github.com/spring-projects/spr framework
3.Spring Boot
Spring Boot 是 Spring 開源組織下的一個(gè)子項(xiàng)目,也是 Spring 組件一站式解決方案,主要是為了簡(jiǎn)化使用 Spring 框架的難度,簡(jiǎn)省繁重的配置。
Spring Boot提供了各種組件的啟動(dòng)器(starters),開發(fā)者只要能配置好對(duì)應(yīng)組件參數(shù),Spring Boot 就會(huì)自動(dòng)配置,讓開發(fā)者能快速搭建依賴于 Spring 組件的 Java 項(xiàng)目。
官網(wǎng): https://spring.io/projects/spring ot
源碼: https://github.com/spring-project pring-boot
4.Spring Cloud
Spring Cloud 是一系列框架的有序集合,是目前最火熱的微服務(wù)框架首選,它利用Spring Boot 的開發(fā)便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)注冊(cè)、配置中心、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等,都可以用 Spring Boot 的開發(fā)風(fēng)格做到一鍵啟動(dòng)和部署。
官網(wǎng): http://projects.spring.io/spring- d/
源碼: https://github.com/spring-cloud
5.Mybatis/ iBatis
iBatis 曾是開源軟件組 Apache 推出的一種輕量級(jí)的對(duì)象關(guān)系映射持久層(ORM)框架,隨著開發(fā)團(tuán)隊(duì)轉(zhuǎn)投Google Code 旗下,ibatis 3.x 正式更名為 Mybatis,即:iBatis 2.x, MyBatis 3.x。
官網(wǎng): http://www.mybatis.org/mybatis-3/
源碼: https://github.com/mybatis
。
6.Hibernate
Hibernate 是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì) JDBC 進(jìn)行了非常輕量級(jí)的對(duì)象封裝,它將 POJO 與數(shù)據(jù)庫(kù)表建立映射關(guān)系,是一個(gè)全自動(dòng)的 orm 框架。Hibernate 可以自動(dòng)生成 SQL 語(yǔ)句,自動(dòng)執(zhí)行,使得 Java 程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操作數(shù)據(jù)庫(kù)。
官網(wǎng): http://hibernate.org/
源碼: https://github.com/hibernate
7.Dubbo
Dubbo是阿里巴巴開源的基于 Java 的高性能 RPC 分布式服務(wù)框架,現(xiàn)已成為 Apache 基金會(huì)孵化項(xiàng)目。使用 Dubbo 可以將核心業(yè)務(wù)抽取出來(lái),作為獨(dú)立的服務(wù),逐漸形成穩(wěn)定的服務(wù)中心,可用于提高業(yè)務(wù)復(fù)用靈活擴(kuò)展,使前端應(yīng)用能更快速的響應(yīng)多變的市場(chǎng)需求。
官網(wǎng): http://dubbo.apache.org
源碼: https://github.com/apache/incubator-dub bo
8.Netty
Netty 是由 JBOSS 提供的一個(gè)開源的、異步的、基于事件驅(qū)動(dòng)的網(wǎng)絡(luò)通信框架,用 Netty 可以快速開發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序,Netty 簡(jiǎn)化了網(wǎng)絡(luò)應(yīng)用的編程開發(fā)過(guò)程,使開發(fā)網(wǎng)絡(luò)編程變得異常簡(jiǎn)單。
官網(wǎng): https://netty.io/
源碼: https://github.com/netty/netty
9.Shiro
Apache Shiro是一個(gè)強(qiáng)大而靈活的開源安全框架,它干凈利落地處理身份認(rèn)證,授權(quán),企業(yè)會(huì)話管理和加密。
官網(wǎng): http://shiro.apache.org/
源碼: https://github.com/apache/shiro
10.Ehcache
EhCache 是一個(gè)純Java的進(jìn)程內(nèi)緩存框架,具有快速、精干等特點(diǎn),是 Hibernate 中默認(rèn)的CacheProvider。它使用的是 JVM 的堆內(nèi)存,超過(guò)內(nèi)存可以設(shè)置緩存到磁盤,企業(yè)版的可以使用 JVM 堆外的物理內(nèi)存。
官網(wǎng): http://www.ehcache.org/
源碼: https://github.com/ehcache/ehcache3 e3
11.Quartz
Quartz 是一個(gè)基于 Java 的廣泛使用的開源的任務(wù)調(diào)度框架,做過(guò)定時(shí)任務(wù)的沒(méi)有沒(méi)用過(guò)這個(gè)框架的吧?
官網(wǎng): http://www.quartz-scheduler.org/
源碼: https://github.com/quartz-scheduler/quar z
12.Velocity
Velocity 是一個(gè)基于 Java 的模板引擎,簡(jiǎn)單而強(qiáng)大的模板語(yǔ)言為各種 Web 框架提供模板服務(wù),來(lái)適配 MVC 模型。
官網(wǎng): http://velocity.apache.org/
源碼: https://github.com/apache/velocity- gi
13.jQuery
jQuery是一個(gè)快速、簡(jiǎn)潔的 JavaScript 框架,它封裝 JavaScript 常用的功能代碼,提供一種簡(jiǎn)便的 JavaScript 設(shè)計(jì)模式,極大地簡(jiǎn)化了 JavaScript 編程。
官網(wǎng): http://jquery.com/
源碼: http://jquery.com/download/
14.JUnit
JUnit 是一個(gè) Java 語(yǔ)言的單元測(cè)試框架,絕大多數(shù) Java 的開發(fā)環(huán)境都已經(jīng)集成了 JUnit 作為其單元測(cè)試的工具。
官網(wǎng): https://junit.org
源碼: https://github.com/junit-team/
15.Log4j
Log4j 是 Apache 的一個(gè)開源日志框架,通過(guò) Log4j 我們可以將程序中的日志信息輸出到控制臺(tái)、文件等來(lái)記錄日志。作為一個(gè)最老牌的日志框架,它現(xiàn)在的主流版本是 Log4j2。Log4j2是重新架構(gòu)的一款日志框架,拋棄了之前 Log4j 的不足,以及吸取了優(yōu)秀日志框架 Logback 的設(shè)計(jì)。
官網(wǎng): https://logging.apache.org/log4j/2.x/