Sping系列第一講 請問各位大佬為何要學spring?
為什麼需要學習spring?
- 最大程度的簡化了開發
spring是一個非常優秀的java框架,其目標是為了簡化java企業級開發,spring出來已經十幾年了,這期間也一直圍繞著這個目標在進行,像後面需要學習的springmvc、springboot、springcloud,這些技術也都是圍繞著簡化開發的目標在努力,到目前為止已經做的足夠好了,可以說spring除了不能幫助我們實現業務邏輯程式碼之外,其他的事情spring都儘量去幫我們簡化了,使用spring可以幫助我們節約大量開發時間。
不使用spring的情況下,開發一個專案可能需要2個月,用了spring可能1個月都不需要,你說這樣的技術你想學麼?
- 大量公司使用
目前99%的公司使用了spring,可以去各大招聘網站看一下,spring算是必備技能,所以一定要掌握。
- 頂尖的原始碼
spring框架原始碼設計非常優秀,在java開源專案中可以說是頂級的,目前為止還未發現比spring更優秀的開源專案,所以想提升程式碼能力的,強烈建議多看看spring的原始碼;關於提升程式碼能力的,還可以去看一下jdk的原始碼,也是非常棒的,裡面有很多大師的傑作。
什麼是spring?
spring是一個簡化java企業級開發的一個框架,內部包含了很多技術,比如:控制反轉&依賴注入、面向切面程式設計、spring事務管理、透過spring整合其他框架、springmvc、springboot、springcloud等等,這些都是圍繞簡化開發展開的技術,後面會對每個知識點詳細介紹。
感受一下spring的強大
先讓大家感受一下spring的強大,來激發大家學習的興趣。
我們需要為移動端提供api介面,介面資料以json格式輸出,使用java技術,實現過程大家應該比較熟悉,如下:
-
使用idea建立一個web專案
-
建立servlet,servlet中寫業務程式碼,組裝需要資料,將資料以json格式輸出
-
在web.xml中配置servlet資訊
將專案部署到tomcat中
原生的web專案開發過程都是上面這樣,和業務相關的其實只有第2步,而其他幾個步驟是每個web專案都需要的,像比較大的專案,會有很多web模組,每個模組都需要重複這些1/3/4操作步驟,還是相當繁瑣的,也會耗費大量時間。
如果使用springboot來實現,過程會簡化很多,來感受一下:
開啟idea,點選File->New->Project,如下:
anhui/
輸入專案座標資訊,如下圖:
選擇Web->Spring Web->Spring Boot(2.24)->Next,如下圖:
點選Finish,完成專案的建立,如下圖:
專案結構如下圖:
目前為止我們還未寫一行程式碼,下面我們建立一個類HelloWorldController,程式碼如下:
大家先不用關注專案中程式碼什麼意思,主要關注一下效果。
下面我們來啟動專案。 hebei/
注意專案中有一個自動生成的類:com.javacode2018.SpringDemo1Application,這個類包含了main方法,說明是可以執行的,我們執行一下,控制檯輸出:
開啟瀏覽器,訪問下面地址: changchun/
效果如下圖:
此時我們需要的功能已經實現了,然而到目前為止,只有HelloWorldController程式碼是我們寫的,而我們沒有去建立servlet、將返回的結果以json格式輸出、配置web.xml,沒有將專案釋出到tomcat,沒有去啟動tomcat,而只啟動了一個main方法,是不是非常神奇。建立servlet、透過response將資料以json格式輸出、配置web.xml、釋出專案到tomcat、啟動tomcat等這些操作並不是說不需要,而是springboot內部已經幫我們實現了,對於開發者來說這些都被隱藏了,springboot讓我們更關注業務程式碼的實現,從而最大限度的幫我們提升開發效率,簡化專案的開發過程。
總結
這篇文章主要是讓大家瞭解一下spring是什麼,總的來說spring是一個非常優秀的java框架,這個框架的目標是為了簡化企業級開發中需要用到的各種技術而存在的,後面的文章我們將一一介紹spring是如何做到簡化專案開發的,如何讓我們的專案更容易維護和擴充套件的,敬請期待!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30239065/viewspace-2730333/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為何要學習心理學
- 請教各位大佬一個問題,flutter APP 怎麼抓包呢?FlutterAPP
- 請教各位spring高手Spring
- 請問各位如何深入的學好javaJava
- 智慧汽車到底何時才能實現 看看各位大佬的表態!
- 請問各位大佬,vue如何實現點選按鈕切換圖片的效果?Vue
- 請各位給我指路:請問要學習J2EE我需要學習那些方面的東西?謝謝了
- 新人,請教一下各位大佬是怎麼找到自己的學習方向的?
- 為何要大力發展教學直播系統?
- 請問各位道友?jive學習應該哪些東西?
- 何為程式語言?為什麼要學C語言?C語言
- 學PHP 為何要加入技術交流群PHP
- 各位大佬,小弟想學習一下大資料測試,請問有什麼課程可以推薦的麼?大資料
- jboss問題,請各位高手指教!
- 請教各位高手一個問題
- 請各位大佬幫忙看看我的 Page Object 模式用的對不對Object模式
- 為何要再封裝 AJAX?封裝
- 本人初學JAVA請各位幫幫忙...Java
- httprunner 和 pytest 為啥感覺很相似啊, 各位大佬求解惑HTTP
- 請各位Struts+Spring 改寫Jive的建議Spring
- listener為何要fork兩次子程式
- 我為何要封裝DialogFragment?封裝Fragment
- Bash 為何要發明 shopt 命令
- 【求助各位大佬】【急】pytest 動態引數化遇到的問題
- XGBoost入門系列第一講
- 請問各位,跨伺服器的身份驗證,各位有什麼方法?伺服器
- 各位高手,請教
- 初學j2ee,請教各位老師關於datasource問題
- 請問各位大俠,為何在在該網站下載的Jive安裝不了?網站
- Swoole 系列之二(Websocket 要點講解)Web
- 為何選擇Spring Boot?Spring Boot
- 什麼是Spring Boot?為什麼要學習Spring Boot?Spring Boot
- 求助,大佬請進!
- 請教Banq和各位道友連線失效問題
- 請教各位大俠一個JavaBean的問題JavaBean
- jive2.1.2快取問題?各位高手,請指教!!快取
- 請各位高手幫忙!
- 何為Spring中的配置類?Spring