什么是Spring Boot
Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化新 Spring 應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。用我的話來理解,就是 Spring Boot 其實不是什么新的框架,它默認配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
使用 Spring Boot有什么好處
其實就是簡單、快速、方便!平時如果我們需要搭建一個 Spring Web 項目的時候需要怎么做呢?
- 1)配置 web.xml,加載 Spring 和 Spring mvc
- 2)配置數據庫連接、配置 Spring 事務
- 3)配置加載配置文件的讀取,開啟注解
- 4)配置日志文件
- ...
- 配置完成之后部署 Tomcat 調試
- ...
現在非常流行微服務,如果我這個項目僅僅只是需要發送一個郵件,如果我的項目僅僅是生產一個積分;我都需要這樣折騰一遍!
但是如果使用 Spring Boot 呢?
很簡單,我僅僅只需要非常少的幾個配置就可以迅速方便的搭建起來一套 Web 項目或者是構建一個微服務!
快速入門
說了那么多,手癢癢的很,馬上來一發試試!
Maven 構建項目
- 1、訪問 http://start.spring.io/
- 2、選擇構建工具 Maven Project、Java、Spring Boot 版本 2.1.3 以及一些工程基本信息,可參考下圖所示:
- 3、點擊 Generate Project 下載項目壓縮包
- 4、解壓后,使用 Idea 導入項目,File -> New -> Model from Existing Source.. -> 選擇解壓后的文件夾 -> OK,選擇 Maven 一路 Next,OK done!
- 5、如果使用的是 Eclipse,Import -> Existing Maven Projects -> Next -> 選擇解壓后的文件夾 -> Finsh,OK done!
Idea 構建項目
- 1、選擇 File -> New —> Project... 彈出新建項目的框
- 2、選擇 Spring Initializr,Next 也會出現上述類似的配置界面,Idea 幫我們做了集成
- 3、填寫相關內容后,點擊 Next 選擇依賴的包再點擊 Next,最后確定信息無誤點擊 Finish。
項目結構介紹
如上圖所示,Spring Boot的基礎結構共三個文件:
l src/main/java 程序開發以及主程序入口
l src/main/resources 配置文件
l src/test/java 測試程序
另外,spingboot建議的目錄結果如下:
root package結構:com.example.myproject
com +- example +- myproject +- Application.java | +- domain | +- Customer.java | +- CustomerRepository.java | +- service | +- CustomerService.java | +- controller | +- CustomerController.java |
1、Application.java 建議放到跟目錄下面,主要用於做一些框架配置
2、domain目錄主要用於實體(Entity)與數據訪問層(Repository)
3、service 層主要是業務類代碼
4、controller 負責頁面訪問控制
采用默認配置可以省去很多配置,當然也可以根據自己的喜歡來進行更改
最后,啟動Application main方法,至此一個java項目搭建好了!
引入 Web 模塊
1、pom.xml中添加支持web的模塊:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
pom.xml文件中默認有兩個模塊:
spring-boot-starter:核心模塊,包括自動配置支持、日志和YAML;
spring-boot-starter-test:測試模塊,包括JUnit、Hamcrest、Mockito。
2、編寫controller內容
@RestController public class HelloWorldController { @RequestMapping("/hello") public String index() { return "Hello World"; } }
@RestController的意思就是controller里面的方法都以json格式輸出,不用再寫什么jackjson配置的了!
3、啟動主程序,打開瀏覽器訪問http://localhost:8080/hello,就可以看到效果了,有木有很簡單!
參考資料: