對spring架構盛行了多年的java方向開發人員來說,每個人java開發已經把spring架構當做開發中不可或缺的一部分。之前傳統的模式都是以applicationContext.xml配置檔案的形式存在,而對應大多數入門級開發人員來說配置出現一點纰漏就會導緻運作失敗或者更大的問題,是以會浪費開發人員很多寶貴的時間,對公司來說也是有所損失。那麼spring開源組織很早之前就意識到這種問題的存在,于是他們便對spring架構的全系列元件進行了内部封裝。對外隻是提供maven(jar管理、項目打包工具)或者gradle(新興jar管理、項目打包工具)的形式來進行引入parent.pom(maven配置檔案)或者parent.gradle(gradle配置檔案),讓每一個spring項目都是以spring的子項目的形式來運作,這樣開發人員不用再去注重配置檔案的繁瑣而是把精力放到業務邏輯以及更深層次的架構方面。自此SpringBoot就誕生了,它有着純正的開源血統,在此非常感謝spring開源組織給我們java開發人員帶來的便利!
1. 為所有Spring開發者更快的入門
2. 開箱即用,提供各種預設配置來簡化項目配置
3. 内嵌式容器簡化Web項目
4. 沒有備援代碼生成和XML配置的要求
5. 提供一系列大型企業級項目的功能性特性(比如:安全、健康檢測、外部化配置、資料庫通路、restful搭建等很多特性這裡就不一一叙說了,後期文章會陸續更新)
使用springboot完成一個簡單的web(springmvc)應用程式,通過@restController輸出"HelloWord"到界面,讓我們初步體驗springboot的快速開發、簡單的特性。
1. jdk1.8
2. springboot 1.5.2.RELEASE
3. 開發工具(IntelliJ IDEA 2017.1.1)
4. 資料庫管理工具(Navicat Premium 11.1.7)
5. 文本管理工具(sublime text 3)
6. apache maven(3.3.9,本章采用maven形式管理jar包,具體配置環境變量以及使用請自行查找資料)
目前建構項目有多種方式我這裡簡單介紹兩種。
2、使用IntelliJ IDEA開發工具來建構項目結構
界面主要部分包括:管理工具,springboot版本,包名(group),工程名(Artifact),已選子產品(我已經選擇了一個web子產品)。
圖1
點選Generate Project就會下載下傳一個根據你輸入的資訊建立的項目工程架構源碼的壓縮包。
解壓壓縮包到指定目錄(目錄你可以随意定義)我這裡為了後續操作先定義到E:/lessions内可以看到如下“圖2”所示:
圖2
解壓完成之後我們就可以通過IntelliJ IDEA開發工具導入到工程,
1. 菜單中選擇File–>New–>Project from Existing Sources...
2. 選擇解壓後的項目檔案夾,點選OK
3. 點選Import project from external model并選擇Maven,點選Next到底為止。
4. 若你的環境有多個版本的JDK,注意到選擇Java SDK的時候請選擇系統安裝1.8版本
打開工具,界面如下 “圖3” 所示:
圖3
我們點選Create New Project來建立一個新的springboot應用程式,點選後如下“圖4”所示:
圖4
我們點選Next繼續下一步操作,根據界面輸入選項填寫對應的内容即可如“圖5”所示:
圖5
點選Next即可完成建立項目,而且建立完成後會自動導入到項目工程内就不需要再次import操作,這種方式會比較簡單些,是以我們的文章内都會采用第二種形式來建立新工程。
在下一步我們勾選Web依賴加入到我們的項目中,如下圖所示:
下圖
這裡注意一點的是,如果上面我們選擇了war形式,也添加了Web依賴并且在開發過程中使用Application形式啟動,則需要注釋pom.xml配置檔案内tomcat依賴的scope屬性。
我們來看看工具為我們生成新工程的目錄結構,如”圖6“所示:
圖6
我們可以看到目錄結構有如下幾個:
1、/src/main/java/ 存放項目所有源代碼目錄
2、/src//main/resources/ 存放項目所有資源檔案以及配置檔案目錄
3、/src/test/ 存放測試代碼目錄
LessonOneApplication 該類是程式的入口類内有個main方法,可以直接通過run as運作項目
application.properties 該配置檔案是項目的核心配置檔案,以xx.xx.xx的形式存在
pom.xml maven配置檔案,因為我們采用的maven管理jar,是以這裡會自動生成一個pom檔案
我們可以看到工具為我們自動生成的入口程式是有@SpringBootApplication的這麼一個注解,那它主要是做什麼的呢?不難看出,它是聲明目前類為sprinboot的入口類。而一個springboot項目内有且隻能有一個這個注解存在。
圖7
我們在入口程式類中右鍵->Run LessonOneApplication在控制台的輸出如下”圖8“所示,證明你已經成功的運作了springboot項目。
圖8
可以看到我們的項目是通過内置的tomcat容器啟動的,并且端口号預設是8080(至于如何修改端口号後期文章中更新)。我們現在通過浏覽器直接通路是得不到任何回應的,隻是會有一個錯誤頁面,如下”圖9“所示
圖9
我們首先在/src/main/java/com/yuqiyu (該目錄是你建構項目的目錄) 目錄下建立一個叫做lessonOne的package,然後在lessonOne下再建立一個叫做controller的package,最後我們在controller包下建立一個HelloWordController.java 類檔案,我們使用@RestController來聲明我們新建立的HelloWordController是一個通路控制器,如下”圖10“所示:
圖10
圖11
可以看到我們輸出了”HelloWord“!自此我們這章的講解就完成了。
本章以及後續章節的源碼位址我都會分享出來,請大家自行下載下傳以及git clone。
本章主要通過springboot簡單特性來完成了第一個"HelloWord"web應用程式的搭建,我們可以看出springboot已經在項目搭建一個項目整合元件方面很成熟,推薦大家在日後的項目中使用該架構,可以有效的提高團隊開發效率以及縮短開發人員上手周期因。本人是第一次書寫文章,還請大家多多包涵,如果有什麼改進指教的地方還請指出,非常感謝!