基於SpringBoot的後台管理系統
說明
如果您有幸能看到,請認閱讀以下內容;
1、本項目臨摹自abel533的Guns,他的項目 fork 自 stylefeng 的 Guns!開源的世界真好,可以學到很多知識。
2、版權歸原作者所有,自己只是學習使用。跟著大佬的思路,希望自己也能變成大佬。gogogo》。。
3、目前只是一個後台模塊,希望自己技能增強到一定時,可以把stylefeng 的 [Guns]融合進來。
4、很多總結的文檔都來自abel533的GiHub的README.md.為了方便自己複習就拿來主義了。
5、note裡面是自己的學習過程,菜鳥寫的,不是大佬寫的。內容都是大佬的。
目錄
1、SpringBoot第一站,分析了啟動類。還有各種自動配置的源碼點這裡
2、
修改說明
本項目對 Guns 的改動為:
1、將 mybatis-plus 改成了通用 Mapper.
2、增加分頁插件 PageHelper.
3、去掉com.stylefeng.guns.modular.system.dao包中的所有DAO,將方法放到對應的Mapper介面中.
4、將 Mapper.xml 移動到 resources 中關於兩者的對比,可以通過 commit 信息查看。
功能簡介
1、用戶管理
2、角色管理
3、部門管理
4、菜單管理
5、字典管理
6、業務日誌
7、登錄日誌
8、監控管理
9、通知管理
10、代碼生成
1、首先我們來看包結構,老樣子,我們先從core包開始,然後common,在config。等等,還是先從啟動類開始吧。
項目包結構說明
.
注:SpringBoot項目默認不支持將靜態資源和模板(web頁面)放到webapp目錄,但是個人感覺resources目錄只放項目的配置更加簡潔,所以就將web頁面繼續放到webapp目錄了.
1、先來看啟動類:
.
需要注意兩個點:@SpringBootApplication註解和WebMvcConfigurerAdapter
(1)、1.2版本應該是@Configuretion註解,這個註解表明這個類會處理Spring的常規bean。來自《精通Spring MVC》
(2)、@ComponentScana 它會告訴Spring去哪裡查找SPring組件(服務,控制器),大白話就是bean那。一般我們在控制層的類上會加上@Controller註解,不知道大家有木有配置過XML,難受啊。
(3)、@EnableAutoConfiguration : 看名字,AutoConfiguration啊,這就是Spring魔力所在,省去很多XXML了,在這裡是基於JavaConfig配置的。
.
2、接下來,我們再看下為毛要繼承WebMvcConfigrerApapter類。
看見Config沒,這個也是配置類,它聲明了視圖解析器、地域解析器、以及靜態資源的位置,(想起來沒,就是前置,後置) 。
先看一段源碼 ————源碼是個好東西
.
.
說了這麼多,我們先來看看SpringMVC啟動流程,知其所以然的同時也要知其然。
一般來說,初始化 步驟如下:
1、初始化SpringMVC的DispatcherServlet
2、配置轉碼過濾器(UTF-8,亂碼鍋就在設置,還有一個就是在發送信息前,setCharacterEncoding()。),保證能正確轉碼,為啥啊,因為瀏覽器發送的是ISO-8859?。
3、配置視圖解析器,就上面說的那個,返回視圖的時候方便定位。
4、配置靜態資源的位置,
5、還有就是配置multipart解析器,主要是為了能上傳文件,part單詞什麼意思?多個-部分
6、還需要寫錯誤頁面,統一異常處理。
然而,然而有了SpringBoot,統統可以省略,激動嗎?興奮嗎? 我是蠻激動的,尤其第一次運行SpringBoot項目。
上面已經幫我們位置了視圖解析器,接下來我們看下DispatcherServlet和multipart
.
還有還有,錯誤配置、轉碼配置、tomcat配置Jetty等等。具體的在這個配置類中
EmbeddedServletContainerAutoConfiguration
,只看ContainerAutofig。我們還是正式進入項目吧。
.
我們點擊源碼看看SpringBootServletInitializer。其實看名字就可看出是Servlet初始化,熟悉設這個
ApplicationContext
單詞嗎?應用上下文。很重要的,還有一個叫做BeanFactory,主要有個getBean方法,一般用前者。
.
TAG:野生程序猿 |