什么是Springboot?
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架棱烂,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置阶女,從而使開發(fā)人員不再需要定義樣板化的配置颊糜。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者秃踩。
Springboot 特點(diǎn)
- 創(chuàng)建獨(dú)立的Spring應(yīng)用程序
- 嵌入的Tomcat衬鱼,無需部署WAR文件
- 簡化Maven配置
- 自動配置Spring
- 提供生產(chǎn)就緒型功能,如指標(biāo)憔杨,健康檢查和外部配置
- 絕對沒有代碼生成和對XML沒有要求配置
第一個Springboot 程序:hello World!
- 首先進(jìn)入Springboot 官網(wǎng) https://projects.spring.io/spring-boot鸟赫,了解相關(guān)信息,如maven 配置:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- 新建一個 maven web 項(xiàng)目
├─src
│ └─main
│ ├─java
│ ├─resources
│ └─webapp
└─pom.xml
- 在pom.xml 文件中添加 [01] 步中maven 依賴
- 新建啟動類,person.jack.App.java,代碼如下:
package person.wuchao;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
- 新建Controller 類 person.jack.controller.Hello.java消别,代碼如下:
package person.wuchao.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.web.bind.annotation.*;
import person.wuchao.bean.Person;
/**
* 定義一個REST 風(fēng)格 Controller
*/
@RestController
public class Hello {
@ResponseBody
@GetMapping("/hello") //定義一個Get 請求映射
public String hello(){
return "Hello SpringBOOT!";
}
}
- 運(yùn)行[04]步中的main 方法抛蚤,即:啟動項(xiàng)目
"C:\Program Files\Java\jdk1.8.0_91\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.3.2\lib\idea_rt.jar=50720:C:\Program Files\JetBrains\IntelliJ IDEA
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.10.RELEASE)
2018-02-05 23:14:44.808 INFO 22712 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2018-02-05 23:14:44.853 INFO 22712 --- [ restartedMain] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-02-05 23:14:44.955 INFO 22712 --- [ restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
# 服務(wù)啟動成功,springboot 默認(rèn)采用tomcat容器妖啥,默認(rèn)http端口為:8080
- 啟動瀏覽器霉颠,訪問:http://localhost:8080/hello
# 頁面打印
Hello SpringBOOT!
- 至此,第一個Springboot程序完成荆虱!
- 分析:
從業(yè)務(wù)使用來看蒿偎,似乎同SpringMVC很類似;不錯怀读,SpringBoot 采用的本身就是SpringMVC
沒有了SpringMVC 繁瑣的xml 配置文件
maven 配置大大簡化诉位,該例我們只寫入了一個maven 依賴
-
啟動方式發(fā)生了改變,沒有再手動配置容器(Tomcat)
這就是Spirngboot菜枷,可以簡單的把它看成是對Springmvc 的開發(fā)優(yōu)化
- 熱部署苍糠,在實(shí)際開發(fā)工程中源代碼經(jīng)常更改,若每次手動重啟則太浪費(fèi)時間啤誊,Springboot 提供了一個devtools 包岳瞭,自動重啟以節(jié)約時間提高開發(fā)效率拥娄,使用方法:在maven 中添加devtools依賴即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
# 這個時候再改動源碼,idea(或eclipse)并重新編譯(Ctrl+B or Ctrl+F9)瞳筏,服務(wù)就會自動重啟