java這門大家都所熟悉的開發語言,那么對于java語言來說為什么它會這么的受歡迎呢?從java面世以來java在開發界的地位一直是任何一個開發語言都沒有辦法去撼動的,對于開發者來說將java的主流框架有哪些呢?
其一是傳統企業開發。
其二是互聯網企業開發。
常用技術有:struts1/2,Spring/mvc/boot/cloud,Hibernate/MyBatis。在此論述的是JavaEE,JavaME另有他論。技術核心原理、理論知識、優點缺點、功能作用等就不再展開描述。
一、傳統企業開發要求安全、穩定,易于維護。常用于政府機關、企業OA、ERP等管理系統,對于此類型系統常用框架是Struts1/2+Spring+Hibernate/MyBatis/Ibatis/Servlet,至今統計很多政府系統多用老框架,不易更新擴展。為便于維護與新系統融合,所以常采用穩定的系統架構技術。也有部分采用Springmvc,迭代舊的系統。
常有組合有:Struts+Spring+Mybatis,SpringMVC+Hibernate,Springmvc+MyBatis,Struts1/2Hibernate
二、互聯網企業開發要求高并發、高用性、易擴展。常用于科技企業,交互系統、支付系統、購物系統等。而針對這些系統老技術框架不易于開發實現分布式、版本更新、擴展,近幾年出現不少分布式技術。
常使用springboot,springcloud的套件組裝,拆分各子業務系統,對核心業務服務進行解耦劃分,可實現靈活組裝,極大提升業務可復用性、拆分性。
另外,采用權限分級管理,異步調用及服務降級等方式,有利保證系統的穩定性。
Springcloud的組件有,服務發現(NetflixEureka),客服端負載均衡(NetflixRibbon),斷路器(NetflixHystrix),分布式配置(SpringCloudConfig)。
結合k8s,docker編排,讓springcloud得到更有效的發揮其作用。
舉例架構如下:
系統采用一系列穩定的技術框架,實現數據的讀寫分析、數據清洗、整合、匯總、統計分析、搜索引擎、推薦分析,得出可信度、高精度的結果。
基于nodejs、vue的混合前端開發體系實現前后分離,Springmvc,Springboot,SpringCloud應用開發框架以及SOA的理念,Java、NLP提供語義分析;通過CDN,業務路由、多重負載均衡以及分布式緩存、數據庫存儲等技術,提供一個高可靠、高并發、可擴展的大型分布式系統。
技術細分
核心框架:SpringBoot,Springcloud
安全框架:ApacheShiro
視圖框架:SpringMVC
服務端驗證:HibernateValidator
任務調度:Quartz
持久層框架:Mybatis、Mybatisplus
數據庫連接池:AlibabaDruid
緩存框架:Ehcache
日志管理:SLF4J、Log4j
工具類:ApacheCommons、Jackson、Xstream、
后端渲染模板引擎:Thymeleaf