欧美经典成人在观看线视频_嫩草成人影院_国产在线精品一区二区中文_国产欧美日韩综合二区三区

當前位置:首頁 > 開發語言 > 正文

jfinal框架的優缺點 java三大主流框架

jfinal框架的優缺點 java三大主流框架

其實jfinal框架的優缺點的問題并不復雜,但是又很多的朋友都不太了解java三大主流框架,因此呢,今天小編就來為大家分享jfinal框架的優缺點的一些知識,希望可以幫...

其實jfinal框架的優缺點的問題并不復雜,但是又很多的朋友都不太了解java三大主流框架,因此呢,今天小編就來為大家分享jfinal框架的優缺點的一些知識,希望可以幫助到大家,下面我們一起來看看這個問題的分析吧!

Javaweb開發,大企業普遍用哪些常用框架界面

我來回答一下,具體用什么框架跟項目規模和大小有很大的關系,下面從單體應用架構和微服務架構兩個方面講一下。

一、單體應用架構

單體應用架構比較簡單,普遍用到就是五大框架,包括mvc層、持久層等。由于這五大框架是web開發框架學習的基礎,相對于微服務框架比較簡單,在此簡單介紹一下。

Spring:ioc容器和bean管理,解決的是業務邏輯層和其他各層的松耦合問題,也起到紐帶和橋梁的作用。Springmvc:目前使用最普遍和最流行的mvc框架。Struts2:也是一款類似于Springmvc功能的mvc框架,它的前身struts1基本沒人使用了。struts2相較于springmvc有諸多劣勢,包括自身漏洞門問題,慢慢走向沒落。現在使用的大部分都是維護的老項目老系統。hibernate:重量級的面向對象的持久層框架,其實它的功能非常強大,由于其自身功能的強大在使用和配置上比較復雜,很多程序員待之以鄙夷。hibernate用于中小系統項目還是很合適的,開發效率較高。mybatis:是一款中低量級別的半自動的持久層框架,由于自身使用的靈活性和易于aql調優,目前還是非常流行的,很多大型項目都用到它。二、微服務架構

微服務架構相對于單體應用架構復雜些,尤其是微服務架構用到分布式應用架構就更為復雜。

springboot:微服務基礎框架,由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,SpringBoot致力于在蓬勃發展的快速應用開發領域(rapidapplicationdevelopment)成為領導者。特點:1.創建獨立的Spring應用程序2.嵌入的Tomcat,無需部署WAR文件3.簡化Maven配置4.自動配置Spring5.提供生產就緒型功能,如指標,健康檢查和外部配置6.絕對沒有代碼生成和對XML沒有要求配置。一句話總結:使用springboot可以高效快速開發web應用,而且可以不使用單體應用開發框架中那些繁雜的xml配置。Dubbo:Dubbo是一個分布式服務框架,致力于提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分布式的需求,其實是不需要用的,只有在分布式的時候,才有dubbo這樣的分布式服務框架的需求,并且本質上是個服務調用的東東,說白了就是個遠程服務調用的分布式框架(告別WebService模式中的WSdl,以服務者與消費者的方式在dubbo上注冊)其核心部分包含:1.遠程通訊:提供對多種基于長連接的NIO框架抽象封裝,包括多種線程模型,序列化,以及“請求-響應”模式的信息交換方式。2.集群容錯:提供基于接口方法的透明遠程過程調用,包括多協議支持,以及軟負載均衡,失敗容錯,地址路由,動態配置等集群支持。3.自動發現:基于注冊中心目錄服務,使服務消費方能動態的查找服務提供方,使地址透明,使服務提供方可以平滑增加或減少機器。SpringCloud:用官方文檔的說明:SpringCloud為開發人員提供了快速構建分布式系統中的一些通用模式(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線,一次性令牌,全局鎖,領導選舉,分布式會話,群集狀態)。分布式系統的協調導致了鍋爐板模式,并且使用SpringCloud開發人員可以快速地站起來實現這些模式的服務和應用程序。它們可以在任何分布式環境中正常工作,包括開發人員自己的筆記本電腦,裸機數據中心和受管平臺,如CloudFoundry。

以上就是公司普遍使用的一些框架,當然還有其他的一些框架,比如jFinal、ejb、公司自研封裝的一些框架等等,不管用什么框架,技術選型的前提就是滿足需求,學習成本低,開發效率高,伸縮性能和可擴展性能要好等等。

以上,你都用過嗎?歡迎留言討論。

【無情懷,不編碼。做一個有情懷的碼農,雖千萬人,吾往矣!】關注java自學、java技術、求職領域,為你導航領路,指點迷津,分享學習感受和技能經驗。歡迎點贊、轉發、關注和留言,任何java學習或求職面試問題可以留言私信,有問必答。

Java開發如果不讓使用spring框架,會有多大影響

這個想法不錯!如果沒有spring,我們正常的一個項目應該怎么搭建和開發?

不允許使用Spring框架意味著搭建的項目不允許使用SpringBoot、SpringMVC、Spring這些Spring家族的框架,既然如此ORM框架我們也不要使用,在這樣的限制條件下,項目應該如何搭建?日常CRUD應該如何開發?

心動不如行動,開始搭建,先創建一個簡單的maven項目no_spring_example:

這個項目我們需要它具備如下的幾個能力:

1、能夠提供http接口訪問能力;

2、能夠操作MySQL數據庫,支持事務,支持連接池;

3、能夠操作redis;

4、可以部署在tomcat容器。

開始搭建中。。。

竟然花了我將近2個小時的時間,終于跑起來了,先看看項目整體架子:

相關包介紹:

org.example.conf:

DruidUtil:數據源配置,采用的是阿里巴巴開源的druid;MysqlBaseUtil:Mysql數據庫的增、刪、改、查基本操作,支持單次和批量;RedisUtil:redis操作工具類,采用的是JedisPool。

org.example.dao:

Test1Dao:這個就是對數據庫里test1表的操作。

org.example.dispatcher:

StartupServlet:啟動類Servlet,利用loda-on-startup來初始化加載WEB-INF/config目錄的一些配置文件;Config:即加載servlet.conf文件中的配置信息,比如MySQL連接信息、redis連接信息

org.example.filter:

GolbalFilter:全局過濾器,web三大組件之一;

org.example.servlet:

Test1AddServlet:新增數據api;

讓我們把它運行到tomcat容器中,然后訪問接口:http://localhost:8080/no_spring_example_war/test1/add.do

返回成功了,查看數據庫表數據:

這樣我們的數據庫操作就通了,一個完全沒有Spring相關框架參與的小架子就搭建完畢!

由于篇幅原因,涉及到redis操作、數據庫事務并沒有展現,感興趣的同學可以私信我獲取該項目源代碼,讓我們一起回憶青春~

回到問題本身,沒有spring框架,對我們開發有什么影響?

結合上面這個項目來看,確實需要我們自己做的事情比較多,比如:

參數的獲取、校驗、序列化成對象;數據的返回,反序列化成json;數據庫的操作需要我們手寫sql;連接池需要我們自己初始化,事務需要我們自己回滾;只能使用Filter、Interceptor,不再有強大的AOP,這個也需要你自己去實現;隨著業務的復雜,我們需要集成其他功能,例如異步、中間件等都需要我們自己去開發;

用慣了Spring框架的我們,或許這個時候才知道它的好吧~

不過話說回來,如果真的在實際工作中不用Spring框架完成一個項目的話,你的基礎能力一定會有很大的提升,包括工具類的抽取、對象的封裝,基礎組件的使用以及理解等,只要你是一個有追求的程序員~

框架雖好用,但是卻容易蒙住我們的雙眼。

最后,給你們再看一眼曾經多么熟悉的web.xml:

好了,文章到這里就結束啦,如果本次分享的jfinal框架的優缺點和java三大主流框架問題對您有所幫助,還望關注下本站哦!