簡(jiǎn)介
- Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者的。
- 在以前的spring項(xiàng)目中,都會(huì)面對(duì)大量繁瑣的配置,使用的時(shí)候基本上都是大量的復(fù)制黏貼。而Spring Boot 則能讓我們?cè)诓恍枰^多的配置下,輕松快速地搭建Spring Web應(yīng)用,開箱即用,沒有代碼生成,也無需XML配置,從而快速使用spring框架。
開始
版本:java 1.8.0_51 & spring boot 1.5.4
一、構(gòu)建簡(jiǎn)單spring boot 項(xiàng)目
這里官網(wǎng)提供的生成器SPRING INITIALIZR 來創(chuàng)建簡(jiǎn)單的spring boot 項(xiàng)目。
1. 訪問 http://start.spring.io

Spring INITIALIZR.png
選項(xiàng): 工程(maven) 語言(java) SpringBoot版本(1.5.4)
Group填組名,Artifact填模塊名,右側(cè)Dependencies 可以選擇相應(yīng)的依賴,因?yàn)槲覀円獦?gòu)建web項(xiàng)目,所以可以添加web的依賴。
點(diǎn)擊 Generate Project 生成下載項(xiàng)目。
2. 把下載的maven項(xiàng)目導(dǎo)入IDE并運(yùn)行
把下載的項(xiàng)目解壓并導(dǎo)入到IDE中(這里使用IntelliJ IDEA)
如下:

spring boot.png
直接運(yùn)行 DemoApplication.java 的main方法。
運(yùn)行成功的截圖:

run.png
其中可以看到,項(xiàng)目的進(jìn)程ID為:25642,可以通過java的jconsole工具查看詳細(xì)信息。
其中可以看到項(xiàng)目的啟動(dòng)端口為8080 (spring boot 默認(rèn)端口,可以在application.properties中修改)

port.png
3. 編寫controller服務(wù)
新建controller包,包下新建IndexController
package com.sam.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author sam
* @since 2017/7/14
*/
@RestController
public class IndexController {
@RequestMapping("/index")
public String index() {
return "index";
}
}
注:@RestController 這個(gè)注解相當(dāng)于同時(shí)添加@Controller和@ResponseBody注解。
運(yùn)行DemoApplication.java 啟動(dòng)項(xiàng)目,啟動(dòng)日志可以看到端口為8080
打開瀏覽器訪問:http://localhost:8080/index 可得結(jié)果。
說明'''項(xiàng)目運(yùn)行方式:
- 在idea中,直接運(yùn)行DemoApplication.java 文件。
- 把項(xiàng)目通過maven命令 mvn package 打成jar包,通過命令 java -jar demo-0.0.1-SNAPSHOT.jar 直接執(zhí)行jar包
- 借助maven插件,執(zhí)行mvn spring-boot:run 即可運(yùn)行項(xiàng)目。
二、pom.xml 講解
打開pom.xml文件,查看配置信息
繼承 parent 父模塊,spring-boot-starter-parent 模塊中包含了自動(dòng)配置、日志和YAML(參考:https://my.oschina.net/u/3235888/blog/887854) ,使構(gòu)建spring項(xiàng)目變得簡(jiǎn)單。
<!-- 繼承 spring boot 父包-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
pom.xml中依賴 spring-boot-starter-web 模塊,包括了Tomcat和spring-webmvc(參考:https://my.oschina.net/u/3235888/blog/887854) ,不需要指定version 版本,因?yàn)楦改K中已經(jīng)有默認(rèn)配置,如果需要指定版本可添加<version></version>。
<!-- 構(gòu)建web項(xiàng)目模塊 包括了Tomcat和spring-webmvc -->
<!-- spring-boot-starter-web 默認(rèn)依賴了tomcat的starter 所以使得項(xiàng)目可以直接運(yùn)行而不需要部署到tomcat中-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
pom.xml中依賴 spring-boot-starter-test 測(cè)試模塊,包括JUnit、Hamcrest、Mockito
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
在spring-boot中,模塊的依賴都是以starter的方式進(jìn)行,以 spring-boot-starter-方式命名,指明了具體的模塊。spring-boot生態(tài)中提供了豐富的starter供開發(fā)者使用(參考:https://my.oschina.net/u/3235888/blog/887854)
這種模塊化的依賴,簡(jiǎn)化了大量的依賴配置。使用starter的依賴方式,可以把相應(yīng)需要依賴的包一起依賴到項(xiàng)目中,而不像傳統(tǒng)的Spring 需要各自依賴包。
如在spring-boot中web模塊,在傳統(tǒng)的Spring配置中需要依賴 org.springframework spring-web 等web服務(wù)的包,在spring-boot中,只需要依賴spring-boot-starter-web 就能把相應(yīng)的包一并依賴進(jìn)來,極大的簡(jiǎn)化了配置。
補(bǔ)充
上面講解了可以從 http://start.spring.io 中直接構(gòu)建spring-boot項(xiàng)目
下面講解直接在IntelliJ IDEA中構(gòu)建spring-boot項(xiàng)目
1. 打開 IDEA ,新建項(xiàng)目

new project.png
2. 選擇Spring Initializr 并在 Choose Initializr Service URL 填入 https://start.spring.io ,點(diǎn)擊Next

spring i.png
3. 填入Group Artifact 等相關(guān)信息,點(diǎn)擊Next

create.png
4. 選擇你需要依賴的模塊,點(diǎn)擊Next

dep.png
5. 點(diǎn)擊Finish即可
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處。