自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么越來越多的人選擇Spring Boot?

開發(fā) 架構(gòu)
Spring是一個非常經(jīng)典的應用框架,與其說是Java開發(fā)不如說是Spring開發(fā),為什么現(xiàn)在越來越多的人會選擇用Spring Boot呢?。

我們都知道,Spring是一個非常經(jīng)典的應用框架,與其說是Java開發(fā)不如說是Spring開發(fā),為什么現(xiàn)在越來越多的人會選擇用Spring Boot呢?。要回答這個問題,還需要從Java Web開發(fā)的發(fā)展歷史開始說起。

1、Java Web開發(fā)簡史

自1995年James Gosling(詹姆斯·高斯林)帶領團隊設計發(fā)布Java語言以來,Java一直排在編程語言排行榜的前列,James Gosling也被稱為“Java之父”。

在最初發(fā)布的Java版本中,包含Java SE、JavaEE、JavaME。

Java SE(Standard Edition)作為標準版本,提供最核心的基礎功能,Java EE(Enterprise Edition)作為企業(yè)版,主要用于企業(yè)級的Web開發(fā),JavaME(Micro Edition)作為微型版本主要應用與移動設備的開發(fā)。隨著Java的語言的廣泛應用,Java也找到了自身的優(yōu)勢,Java EE版本被應用得最多。

從1996年開始,JavaEE開發(fā)是基于JSP + Java Bean來完成的。

后來慢慢地演變,1997年官方推出了 JSP + Servlet + Java Bean來進行開發(fā),Servlet起到了調(diào)度控制的作用,這是MVC設計的雛形。

然后,發(fā)展出現(xiàn)了 JSP + Sevlet + Java Bean + Dao的模式,將業(yè)務邏輯處理和數(shù)據(jù)庫訪問分離,出現(xiàn)了三層架構(gòu)設計理念。

再后來,1998年前后,為了滿足多服務器之間的通信,采用了JSP + Servlet + EJB的形式,出現(xiàn)了RPC設計的雛形。

之后,繼續(xù)演變,在2006年首次出現(xiàn) JSF + EJB + JPA,提出前后端完全隔離開發(fā)的思想。

當然,這些技術(shù)都是Java官方提供的。好像,一直都不那么受歡迎。尤其是在開源社區(qū)發(fā)布一些開源的產(chǎn)品用來來代替官方退出的這些技術(shù),主要目的是為了簡化開發(fā)。于是就出現(xiàn)了許多非常經(jīng)典的Java開發(fā)框架。。

2、Java Web框架創(chuàng)始人

下面,簡單總結(jié)四位全球知名的Java Web開發(fā)框架創(chuàng)始人,也是JavaEE開發(fā)的改造者,

第一位是Gavin King(加文·金),Hibernate框架創(chuàng)始人,一個具有革命性意義的、全自動化的ORM框架,于2006年發(fā)布,最初的版本是基于JPA來實現(xiàn)的。

第二位是Craig Mcclanahan(克雷格·麥克拉納漢),著名的Struts框架創(chuàng)始人,叫Craig Mcclanahan(克雷格·麥克拉納漢),比較早的程序員都用過Struts1和Struts2,感受過非常酸爽的味道。2008年發(fā)布1.0版本,在2013年6月底還爆發(fā)了一次眼中的安全漏洞,那時候開始,我開始全面棄用Struts框架。

第三位是Clinton Begin(克林頓·比格),MyBatis框架創(chuàng)始人,2010年發(fā)布,最早期的名字叫做iBatis,它是一個比Hibernate更加輕量級的,半自動化的持久化框架。目前,絕大部分互聯(lián)網(wǎng)公司都是采用MyBatis作為持久層的框架。

第四位是Rod Johnson(羅德·約翰遜),大名鼎鼎的Spring框架創(chuàng)始人,2004年發(fā)布1.0版本,以前叫做萬能膠,現(xiàn)在叫做全家桶,真正給程序員帶來了春天。

小伙伴們可以對比一下發(fā)際線。

3、Spring的演變

Spring是一個通用性非常強的框架,它提供的工具也非常全面,能滿足各個領域的開發(fā)需求。因此,使用Spring之前需要完成大量的個性化配置。在Spring演變過程中,一直存在一個爭議,是使用XML作為配置方式 還是 使用 Annotation注解作為配置方式?

Spring在開源社區(qū)不斷質(zhì)疑聲中,不斷的發(fā)展和演變,直到Spring 4.0版本發(fā)布的時候,已經(jīng)全面支持注解方式配置,沒有XML也可以進行開發(fā)。但是,開發(fā)者們在使用純注解開發(fā)以后,發(fā)現(xiàn)代碼侵入比較多,配置也稍顯麻煩,尤其是一些Maven依賴也比較繁雜,包括使用外部的Tomcat容器部署也需要不少的工作量。

于是,Pivotal團隊從2013年開始研發(fā)設計Spring Boot,它的初衷是為了簡化開發(fā),旨在解放程序員的雙手。2014年4月,發(fā)布全新開源的輕量級框架,Spring Boot1.0版本。

4、Spring Boot的核心功能

(1)可以獨立運行Spring項目

Spring Boot可以以jar包的形式進行獨立的運行,使用:java -jar xx.jar 就可以成功的運行項目,或者在應用項目的主程序中運行main函數(shù)即可;

(2)內(nèi)嵌的Servlet容器

內(nèi)嵌容器,使得我們可以執(zhí)行運行項目的主程序main函數(shù),實現(xiàn)項目的快速運行;主程序代碼SpringbootDemoApplication.java

(3)提供starter簡化Manen依賴

Spring Boot提供了一系列的starter pom用來簡化我們的Maven依賴,比如創(chuàng)建一個web項目,只需要添加spring-boot-starter-web即可:

(4)自動配置Spring

Spring Boot會根據(jù)我們項目中類路徑的jar包/類,為jar包的類進行自動配置Bean,這樣一來就大大的簡化了我們的配置。當然,這只是Spring考慮到的大多數(shù)的使用場景,在一些特殊情況,我們還需要自定義自動配置;

(5)無代碼生成、無XML配置

Spring Boot神奇的地方不是借助于代碼生成來實現(xiàn)的,而是通過條件注解的方式來實現(xiàn)的,這也是Spring 4.x的新特性。

5、結(jié)論

所以,Spring Boot是由Spring發(fā)展演進而來的,是Spring進化的結(jié)果,是對Sping的升級。

責任編輯:姜華 來源: Tom彈架構(gòu)
相關推薦

2023-09-22 10:48:42

MySQLPostgreSQL

2023-09-14 23:08:54

PostgreSQLMySQL

2021-07-16 23:33:08

IT計算機薪資

2022-04-26 07:18:14

Tailwindcscss

2018-08-23 22:00:18

編程語言PythonHTML5

2013-10-21 09:09:14

惡意App安全軟件手機病毒

2021-08-03 10:40:24

Kubernetes容器公有云

2015-12-28 13:37:14

云通信

2022-11-01 13:30:08

云托管云計算

2012-12-17 15:02:34

Linux操作系統(tǒng)

2019-12-22 14:25:09

vivo手機銷售量

2019-09-20 13:16:22

手機攝像頭三攝

2021-08-10 05:36:25

前端LSP編程

2020-06-02 10:48:12

WindowsLinux微軟

2020-05-20 11:34:15

物聯(lián)網(wǎng)資產(chǎn)管理IOT

2022-03-24 14:36:31

云數(shù)據(jù)數(shù)據(jù)存儲安全

2018-03-05 17:47:48

大數(shù)據(jù)餐飲行業(yè)餐廳

2017-09-13 16:42:05

App

2023-06-14 11:34:47

點贊
收藏

51CTO技術(shù)棧公眾號