簡介
對spring框架盛行了多年的java方向開發(fā)人員來說,每個人java開發(fā)已經(jīng)把spring框架當做開發(fā)中不可或缺的一部分。之前傳統(tǒng)的模式都是以applicationContext.xml配置文件的形式存在,而對應大多數(shù)入門級開發(fā)人員來說配置出現(xiàn)一點紕漏就會導致運行失敗或者更大的問題,因此會浪費開發(fā)人員很多寶貴的時間,對公司來說也是有所損失。那么spring開源組織很早之前就意識到這種問題的存在,于是他們便對spring框架的全系列組件進行了內部封裝。對外只是提供maven(jar管理、項目打包工具)或者gradle(新興jar管理、項目打包工具)的形式來進行引入parent.pom(maven配置文件)或者parent.gradle(gradle配置文件),讓每一個spring項目都是以spring的子項目的形式來運行,這樣開發(fā)人員不用再去注重配置文件的繁瑣而是把精力放到業(yè)務邏輯以及更深層次的架構方面。自此SpringBoot就誕生了,它有著純正的開源血統(tǒng),在此非常感謝spring開源組織給我們java開發(fā)人員帶來的便利!
SpringBoot主要優(yōu)點:
1. 為所有Spring開發(fā)者更快的入門
2. 開箱即用,提供各種默認配置來簡化項目配置
3. 內嵌式容器簡化Web項目
4. 沒有冗余代碼生成和XML配置的要求
5. 提供一系列大型企業(yè)級項目的功能性特性(比如:安全、健康檢測、外部化配置、數(shù)據(jù)庫訪問、restful搭建等很多特性這里就不一一敘說了,后期文章會陸續(xù)更新)
免費專題文章匯總
恒宇少年在博客整理出來了SpringBoot、ApiBoot、SpringCloud的文章匯總【SpringBoot基礎教程專題】,【SpringCloud基礎教程專題】,【ApiBoot組件使用專題】
本章目的
使用springboot完成一個簡單的web(springmvc)應用程序,通過@restController輸出"HelloWord"到界面,讓我們初步體驗springboot的快速開發(fā)、簡單的特性。
系統(tǒng)要求
1. jdk1.8
2. springboot 1.5.2.RELEASE
3. 開發(fā)工具(IntelliJ IDEA 2017.1.1)
4. 數(shù)據(jù)庫管理工具(Navicat Premium 11.1.7)
5. 文本管理工具(sublime text 3)
6. apache maven(3.3.9,本章采用maven形式管理jar包,具體配置環(huán)境變量以及使用請自行查找資料)
開始構建項目
目前構建項目有多種方式我這里簡單介紹兩種。
1、使用spring官網(wǎng) SPRING INITIALIZR 來構建項目結構(地址:http://start.spring.io/)
2、使用IntelliJ IDEA開發(fā)工具來構建項目結構
使用SPRING INITIALIZR構建
訪問start.spring.io/網(wǎng)址就會看到如下 “圖1” 界面:
界面主要部分包括:管理工具,springboot版本,包名(group),工程名(Artifact),已選模塊(我已經(jīng)選擇了一個web模塊)。
點擊Generate Project就會下載一個根據(jù)你輸入的信息創(chuàng)建的項目工程架構源碼的壓縮包。
解壓壓縮包到指定目錄(目錄你可以隨意定義)我這里為了后續(xù)操作先定義到E:/lessions內可以看到如下“圖2”所示:
解壓完成之后我們就可以通過IntelliJ IDEA開發(fā)工具導入到工程,
1. 菜單中選擇File–>New–>Project from Existing Sources...
2. 選擇解壓后的項目文件夾,點擊OK
3. 點擊Import project from external model并選擇Maven,點擊Next到底為止。
4. 若你的環(huán)境有多個版本的JDK,注意到選擇Java SDK的時候請選擇系統(tǒng)安裝1.8版本
使用IntelliJ IDEA構建
打開工具,界面如下 “圖3” 所示:
我們點擊Create New Project來創(chuàng)建一個新的springboot應用程序,點擊后如下“圖4”所示:
我們點擊Next繼續(xù)下一步操作,根據(jù)界面輸入選項填寫對應的內容即可如“圖5”所示:
點擊Next即可完成創(chuàng)建項目,而且創(chuàng)建完成后會自動導入到項目工程內就不需要再次import操作,這種方式會比較簡單些,所以我們的文章內都會采用第二種形式來創(chuàng)建新工程。
在下一步我們勾選Web依賴加入到我們的項目中,如下圖所示:
這里注意一點的是,如果上面我們選擇了war形式,也添加了Web依賴并且在開發(fā)過程中使用Application形式啟動,則需要注釋pom.xml配置文件內tomcat依賴的scope屬性。
項目目錄結構
我們來看看工具為我們生成新工程的目錄結構,如”圖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注解
我們可以看到工具為我們自動生成的入口程序是有@SpringBootApplication的這么一個注解,那它主要是做什么的呢?不難看出,它是聲明當前類為sprinboot的入口類。而一個springboot項目內有且只能有一個這個注解存在。
初嘗試運行項目
我們在入口程序類中右鍵->Run LessonOneApplication在控制臺的輸出如下”圖8“所示,證明你已經(jīng)成功的運行了springboot項目。
可以看到我們的項目是通過內置的tomcat容器啟動的,并且端口號默認是8080(至于如何修改端口號后期文章中更新)。我們現(xiàn)在通過瀏覽器直接訪問是得不到任何回應的,只是會有一個錯誤頁面,如下”圖9“所示
編寫HelloWordController
我們首先在/src/main/java/com/yuqiyu (該目錄是你構建項目的目錄) 目錄下創(chuàng)建一個叫做lessonOne的package,然后在lessonOne下再創(chuàng)建一個叫做controller的package,最后我們在controller包下創(chuàng)建一個HelloWordController.java 類文件,我們使用@RestController來聲明我們新創(chuàng)建的HelloWordController是一個訪問控制器,如下”圖10“所示:
可以看到我配置了一個@RequestMapping注解來聲明index()方法可以通過127.0.0.1:8080/index訪問到,那么我們接下來重新啟動項目(項目中如果重啟出錯應該是注解配置問題),訪問地址如下”圖11“所示:
可以看到我們輸出了”HelloWord“!自此我們這章的講解就完成了。
源碼地址
本章以及后續(xù)章節(jié)的源碼地址我都會分享出來,請大家自行下載以及git clone。
SpringBoot配套源碼地址:https://gitee.com/hengboy/spring-boot-chapter
SpringCloud配套源碼地址:https://gitee.com/hengboy/spring-cloud-chapter
SpringBoot相關系列文章請訪問:目錄:SpringBoot學習目錄
QueryDSL相關系列文章請訪問:QueryDSL通用查詢框架學習目錄
SpringDataJPA相關系列文章請訪問:目錄:SpringDataJPA學習目錄
SpringBoot相關文章請訪問:目錄:SpringBoot學習目錄,感謝閱讀!
總結
本章主要通過springboot簡單特性來完成了第一個"HelloWord"web應用程序的搭建,我們可以看出springboot已經(jīng)在項目搭建一個項目整合組件方面很成熟,推薦大家在日后的項目中使用該框架,可以有效的提高團隊開發(fā)效率以及縮短開發(fā)人員上手周期因。本人是第一次書寫文章,還請大家多多包涵,如果有什么改進指教的地方還請指出,非常感謝!