偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Spring Boot要怎么學(xué)?要學(xué)哪些東西?要不要先學(xué)SSM?說說看法

開發(fā) 后端
可能很多剛接觸 Spring Boot 的小伙伴都會有這樣的疑問,Spring Boot 要怎么學(xué),要不要先學(xué) SSM?今天結(jié)合自己的經(jīng)驗(yàn),和大家說一說我的看法,也順便推薦幾個(gè) Spring Boot 學(xué)習(xí)資料。

可能很多剛接觸 Spring Boot 的小伙伴都會有這樣的疑問,Spring Boot 要怎么學(xué),要不要先學(xué) SSM?今天結(jié)合自己的經(jīng)驗(yàn),和大家說一說我的看法,也順便推薦幾個(gè) Spring Boot 學(xué)習(xí)資料。

1.Spring Boot 是什么

我們剛開始學(xué)習(xí) JavaWeb 的時(shí)候,使用 Servlet/JSP 做開發(fā),一個(gè)接口搞一個(gè) Servlet ,很頭大,后來我們通過隱藏域或者反射等方式,可以減少 Servlet 的創(chuàng)建,但是依然不方便。

再后來,我們引入 Struts2/SpringMVC 這一類的框架,來簡化我們的開發(fā) ,和 Servlet/JSP 相比,引入框架之后,生產(chǎn)力確實(shí)提高了不少,但是用久了,又發(fā)現(xiàn)了新的問題,即配置繁瑣易出錯(cuò),要做一個(gè)新項(xiàng)目,先搭建環(huán)境,環(huán)境搭建來搭建去,就是那幾行配置,不同的項(xiàng)目,可能就是包不同,其他大部分的配置都是一樣的。

Java 總是被人詬病配置繁瑣代碼量巨大,這就是其中一個(gè)表現(xiàn)。那么怎么辦?Spring Boot 應(yīng)運(yùn)而生,Spring Boot 是 Pivotal 團(tuán)隊(duì)在 2013 年開始研發(fā)的一個(gè)基于 Spring 的全新框架,試圖將 Spring 中臃腫的配置進(jìn)行簡化,使 Java 開發(fā)更加輕量與快速,這個(gè)框架非?;钴S,官方也非常重視。

Spring Boot 主要提供了如下功能:

  1.  為所有基于 Spring 的 Java 開發(fā)提供方便快捷的入門體驗(yàn)。
  2.  開箱即用,有自己自定義的配置就是用自己的,沒有就使用官方提供的默認(rèn)的。
  3.  提供了一系列通用的非功能性的功能,例如嵌入式服務(wù)器、安全管理、健康檢測等。
  4.  絕對沒有代碼生成,也不需要XML配置。

Spring Boot 的出現(xiàn)讓 Java 開發(fā)又回歸簡單,因?yàn)榇_確實(shí)實(shí)解決了開發(fā)中的痛點(diǎn),因此這個(gè)技術(shù)得到了非常廣泛的使用,大概從 2017 年年初開始,Spring Boot 基本上面試必問,現(xiàn)在流行的 Spring Cloud 微服務(wù)也是基于 Spring Boot,因此,所有的 Java 工程師都有必要掌握好 Spring Boot。

從 Spring Boot 誕生的過程中,我們可以看到:

  1.  Spring Boot 并非另起爐灶,而是在現(xiàn)有的 Spring 框架的基礎(chǔ)上整出來的,它把 Spring 中繁瑣的配置進(jìn)行了簡化。
  2.  Spring Boot 降低了 Spring 家族的使用門檻,使新手更易上手 Spring 框架。

既然 Spring Boot 不是另起爐灶,那么 Spring Boot 學(xué)習(xí)要不要跳過 SSM 呢?聽松哥來分析。

2.要不要跳過 SSM

這是很多人問我的一個(gè)問題,我的建議是:「不要」。

Spring Boot 基于 Spring,簡單且容易上手,很多人想當(dāng)然的跳過 SSM 直接上 Spring Boot。但是當(dāng)我們細(xì)究 Spring Boot 中的自動化配置、條件注解、Java 配置等東西時(shí),實(shí)在找不出太多新鮮玩意,Java 配置是 Spring3 開始提供的,條件注解 也是 Spring 中的東西,很多很多,都是 Spring 中就有的,只不過這些東西在 Spring Boot 時(shí)代大放異彩。

也就是說,即使你跳過了 SSM 直接去學(xué)習(xí) Spring Boot,實(shí)際上還是在學(xué)習(xí) Spring 中的東西,那既然這樣,我們還不如坐下來,老老實(shí)實(shí)把 Spring 過一遍。

各個(gè)領(lǐng)域的開發(fā)工程師其實(shí)都會面臨類似的問題,學(xué)習(xí)了一些優(yōu)秀的封裝框架之后,還有沒有必要去學(xué)習(xí)底層?當(dāng)然有必要!因?yàn)榈讓拥臇|西可以讓你深刻的理解你目前用的這個(gè)東西,也能讓你在出問題時(shí)快速解決掉問題。

其實(shí)無論你想搞什么技術(shù),都要有牢固的基礎(chǔ)知識,這些牢固的基礎(chǔ)知識就像肥沃的土壤,可以孕育出各種不同技術(shù)方向的牛人,基礎(chǔ)掌握好了,學(xué)什么框架都快。今天你跳過 SSM 直接學(xué)了 Spring Boot,假如有一天 Spring Boot 不行了,Pivotal 團(tuán)隊(duì)又基于 Spring 框架搞了一個(gè)新的框架出來,那你是不是又要去學(xué)一遍?但是如果你一開始就掌握了 Spring 的各種用法,無論基于它搞出來什么樣的框架,你都能快速上手。更進(jìn)一步,如果你研究透了 Spring 中的 AOP、Ioc/DI,你會發(fā)現(xiàn)很多框架大同小異,核心思想就是這些東西,那么你在學(xué)習(xí) Spring 之外的框架,就會容易很多。

「如果你對 SSM 還不太熟悉的話,可以在公號后臺分別回復(fù) spring、springmvc、mybatis 獲取松哥手敲 5 萬余字的干貨教程?!?/p>

3.都要學(xué)哪些

那么 Spring Boot 學(xué)習(xí)都要學(xué)哪些東西呢?我這里列舉了一個(gè)進(jìn)階路線:

  1.  最基礎(chǔ)的當(dāng)然是 Spring/SpringMVC 相關(guān)的東西了。
  2.  搭配各種頁面模版的使用,例如 Jsp/Thymeleaf/Freemarker/Groovy Templates 等。
  3.  和各種 SQL 數(shù)據(jù)庫的整合,以及一些常見的數(shù)據(jù)持久化框架,例如 JdbcTemplate、MyBatis、Jpa 等。
  4.  和各種 NoSQL 數(shù)據(jù)庫的整合,例如 Redis、MongoDB、Elasticsearch 等。
  5.  搭配安全管理相關(guān)的知識點(diǎn),例如 Spring Security、Shiro 等。
  6.  緩存的使用,例如 JCache、Ehcache 等。
  7.  和消息中間件的搭配整合,如 ActiveMQ、RabbitMQ、Kafka 等。
  8.  數(shù)據(jù)校驗(yàn)/定時(shí)任務(wù)/郵件發(fā)送等。
  9.  各種監(jiān)控的使用。
  10.  結(jié)合 WebSocket 的使用。
  11.  Spring Cloud 中相關(guān)組件。
  12.  ...

上面這些只是我列出來的一些比較常見的技術(shù)點(diǎn),每個(gè)技術(shù)點(diǎn)都還可以延伸出很多其他的東西,大家可以結(jié)合自己的情況,按照順序一個(gè)一個(gè)來學(xué),這里邊還涉及到很多第三方的框架,例如 Redis、MongoDB、RabbitMQ 等,Spring Boot 的出現(xiàn)只是讓這些組件在和 Spring 家族的產(chǎn)品整合時(shí)變得更加方便,但是并不會簡化這些組件原本的用法,所以,該學(xué) Redis、該學(xué) MongoDB、該學(xué) RabbitMQ 等等,還是一個(gè)不能少。以 Redis 為例,學(xué)會了 Redis,學(xué)會了 Spring 整合 Redis,再回過頭來看 Spring Boot 整合 Redis,那簡直太 easy 了(「大家在公眾號后臺回復(fù) redis,有松哥手敲的 redis 教程」)。

當(dāng)然,學(xué)習(xí) Spring Boot 最終我們還是奔著快速開發(fā)和微服務(wù)去的,所以,像 Docker、Spring Cloud 等技術(shù),也是需要去了解一下的。

4.怎么學(xué)

Spring Boot 發(fā)展到今天,網(wǎng)上的資料和圖書現(xiàn)在是越來越多了。在看資料學(xué)習(xí)的同時(shí),大家也要留意以下幾個(gè)點(diǎn):

  1.  多看源碼。不同于其他全新的框架源碼你可能會看懵了,由于 Spring Boot 是基于 Spring 的,所以只要你 Spring 基礎(chǔ)扎實(shí),看 Spring Boot 源碼可以說是毫無壓力。如果看 Spring Boot 源碼覺得有壓力,那可能你 Spring 基礎(chǔ)不牢靠,這個(gè)時(shí)候不妨放下 Spring Boot,去復(fù)習(xí)下 Spring。

      2.  每當(dāng)學(xué)會 Spring Boot 中的一個(gè)知識點(diǎn),不妨想想這個(gè)功能在 Spring 框架中要如何使用,如何配置,兩邊都搞懂了,互相印證,加深對一個(gè)知識點(diǎn)的理解。

      3.  多多關(guān)注 Spring Boot 的發(fā)展動態(tài)。不同于傳統(tǒng)的框架可能一年更新一兩次,Spring Boot 更新非常頻繁,二次每次更新都會帶來一些好玩的東西,可能會有新的 API 加入進(jìn)來,也可能會有舊的 API 失效,變化大,因此多多關(guān)注,避免掉坑。

最后,我這里給大家列舉幾個(gè)我自己經(jīng)常關(guān)注的幾個(gè)資源。

4.1 官方文檔

老實(shí)說,Spring Boot 的官方文檔是我接觸的所有官方文檔中最條理清晰淺顯易懂的,大家做開發(fā),多多少少都接觸過一些第三方的開放平臺,很多平臺的文檔真是讓人忍不住想吐槽,框架都做出來了,認(rèn)認(rèn)真真寫個(gè)文檔有那么難么?

不過 Spring Boot 的官方文檔可以算是非常非常友好了。雖然是英文的,但是實(shí)際上對英文要求并不高,連讀帶猜,其實(shí)很容易明白它的含義,我一般對 Spring Boot 中某個(gè)知識點(diǎn)有疑問的時(shí)候,都是首選官方文檔,當(dāng)前最新版的官方文檔地址是:

  •  https://docs.spring.io/spring-boot/docs/2.2.4.RELEASE/reference/html

當(dāng)然,如果你嫌官方文檔打開慢,松哥也幫你下載好了最新版的 pdf,公眾號后臺回復(fù) springboot2.2.4 可以獲取。

4.2 Spring 官方博客

每次 Spring 或者 Spring Boot 發(fā)新版本,松哥都會去看一下新版本有哪些好玩的東西,增加了哪些內(nèi)容。我不可能把源碼讀一遍然后總結(jié)出來它的變化,那一般是如何獲取權(quán)威的第一手信息呢?關(guān)注 Spring 官方博客即可。

打開 Spring 官網(wǎng),在頂部菜單里有一個(gè)選項(xiàng)就是 Blog,關(guān)于 Spring 家族產(chǎn)品的任何更新計(jì)劃,更新結(jié)果,都會在這里通知到大家。

松哥也推薦大家多多關(guān)注這個(gè) Blog,一方面能夠及時(shí)接收到一手信息,另一方面還能提高英語,一舉兩得。宅在家,泡一壺茶,細(xì)細(xì)的品一品這個(gè)網(wǎng)站,真的蠻不錯(cuò)。

Blog 地址:

  •  https://spring.io/blog

4.3 中文資料

說到中文資料,就不得不說松哥自己的在線教程和離線 pdf 文檔了。手敲了 274 頁教程,囊括了 Spring Boot2 常見的各種用法,即有離線的 pdf 供大家下載,也有在線的學(xué)習(xí)網(wǎng)站,這就是滿滿的誠意,還沒下載 pdf 的小伙伴不要錯(cuò)過。

在線教程地址:

  •  http://springboot.javaboy.org

離線 pdf 下載文檔,在公眾號后臺回復(fù) springboot 獲取百度網(wǎng)盤地址。

4.4 學(xué)習(xí)案例

除了這些文字性的東西之外,一些在線案例也至關(guān)重要。這里給大家推薦兩個(gè)倉庫,這兩個(gè)倉庫中的所有案例都是基于 Spring Boot2 來做的。

首先就是我公眾號上文章的配套案例:

GitHub 地址:

Gitee 地址:

這個(gè)倉庫中的大部分案例都是針對 Spring Boot 的,而且有一個(gè)好處就是這些案例都有對應(yīng)的講解文章,每個(gè)案例都對應(yīng)一個(gè)文章,豈不美哉。

另一個(gè)倉庫就是我整理的比較完善的一個(gè)倉庫,但是就沒有對應(yīng)的講解文章了:

GitHub 地址:

Gitee 地址:

5.小結(jié)

資料貴精不貴多,關(guān)鍵是要?jiǎng)邮秩W(xué)。大學(xué)時(shí)候,有的同學(xué)熱衷于收集各種資料,電腦硬盤塞得滿滿的,但是就是不學(xué),這些資料再多也沒有用。 

 

責(zé)任編輯:龐桂玉 來源: Java編程
相關(guān)推薦

2021-09-09 15:09:56

HadoopSparkHive

2020-11-10 06:12:55

數(shù)據(jù)科學(xué)統(tǒng)計(jì)學(xué)數(shù)據(jù)科學(xué)家

2022-11-28 09:58:58

C++開發(fā)

2020-12-09 16:15:38

Python開發(fā)學(xué)習(xí)

2021-03-26 10:04:38

數(shù)據(jù)結(jié)構(gòu)技術(shù)

2015-08-18 09:23:39

程序員學(xué)英語

2010-11-03 09:22:00

C語言

2021-02-25 10:57:22

編程技能開發(fā)

2020-10-14 08:33:23

Prometheus監(jiān)控體系

2018-07-31 11:35:56

白熊視頻 CTO說

2013-11-29 14:04:42

2012-03-16 14:23:00

框架

2023-10-06 12:04:41

ORM關(guān)系型數(shù)據(jù)庫

2017-11-20 09:00:43

跳槽職場精英年終獎(jiǎng)

2012-03-16 14:23:00

框架

2019-08-01 15:40:31

Python機(jī)器學(xué)習(xí)編程語言

2021-02-01 08:02:11

設(shè)計(jì)模式接口

2017-12-14 16:02:43

2021-09-18 14:59:58

語言PythonC語言

2021-09-06 13:42:14

Spring聲明式事務(wù)
點(diǎn)贊
收藏

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