學習開源專案Halo(三)

2021-09-29 10:19:06 字數 1453 閱讀 3527

研究完halo的國際化是怎麼實現的,接下來就是研究halo的其他功能是怎麼實現的。對於沒有研究過專案的人來說第一步上手是不太容易,但是,經歷過前兩篇的研究,現在研究起來應該就很容易了。首先,還是先看一下它的第乙個小小的功能,當我們第一次開啟它的首頁http://localhost:8090的時候,它會自動重定向到http://localhost:8090/install。halo是怎麼實現的呢?我想大家肯定都知道,就是***唄,沒錯,我們看它的源**,在config包下webmvcautoconfiguration類裡

我們可以看到,重點就是這個installinterceptor***,它攔截了所有的請求,我們進入它的攔截方法裡看一看發現,**也是相當的簡單就是判斷一下部落格設定的屬性裡是否已經安裝,沒有就重定向到/install

}沒錯,就是這麼簡單,可能會有人問了,這麼簡單的東西為什麼還要拿出來說一下呢?當然是為了湊字數啊!!!不過除了湊字數之外呢我還想吐槽一下這個springboot版本的問題,多少次了,我以前建立的sringboot2.1.1做乙個demo老是不對,就是不出效果,就像這個***,我跟作者一樣,都是弄個***攔截所有的請求,但是它偏偏就是有問題。然後換了個springboot版本,它就好了,就上公升了0.0.1個版本,就不一樣了,真真是神奇。我每次得開啟三個專案,halo、springboot2.1.1、springboot2.1.2。其中halo用來研究專案源**。研究的有點心得之後就會用springboot2.1.1用來做乙個demo復現一下,demo失敗還半天找不到原因的,我就用springboot2.1.2重新做一遍,一模一樣的**,它就能成功了。

其實,研究到這裡,我們就知道接下來該怎麼研究了,就是照著功能跟著源**走讀就行了,請求發過來肯定是要先進入***,***處理完,就進入controller,然後呼叫service,service層再呼叫持久層(repository包)這樣根據mvc的模式,就能把**走讀一遍,而且這個部落格的業務邏輯不複雜,只要認真看大部分肯定都看得懂,我們學習的不僅是**怎麼寫,還要學學大佬的**設計、思想之類的東西。

最後我想說的是,自學雖然費時間,而且可能還會遇到很多困難,但是在這個過程中我們收穫了自學能力。隨著我們自學的東西越來越多,會發現我們學的越來越快,遇見新的東西知道怎麼上手,遇見問題知道怎麼去搜尋並解決。這也是很重要的能力,可能我現在水平見識有限,這些都是淺見,看看就行了。

Halo學習筆記6

apioperation lists posts public page pageby integer page,integer size,sortdefault sortdefaults sort sort,postquery postquery 其中較為關鍵的 就是postservice.pag...

Halo學習筆記9

configurationproperties halo public class haloproperties 類裡面有各種屬性,通過 configurationproperties與yml繫結 通過 enableconfigurationproperties使haloproperties生效 此...

python scrapy開源專案學習

這個專案的架構不是怎麼複雜,但作為python的初學者,看到這個專案的這麼多 徹底暈了。俗話說,萬事開頭難,確實,開始不知如何下手,如何定製符合自己需求的蜘蛛。只知道建立乙個工程,但工程的各個模組的作用是什麼,如何把這些模組組成乙個整體,讓它真正的發揮作用。好吧,此時最笨的方法是去瞧瞧源 追蹤程式的...