Spring Boot簡介:
Spring Boot是Spring社區發佈的一個開源項目,旨在幫助開發者快速並且更簡單的構建項目。它使用習慣優於配置的理念讓你的項目快速運行起來,使用Spring Boot很容易創建一個獨立運行(運行jar,內置Servlet容器,Tomcat、jetty)、準生產級別的基於Spring框架的項目,使用SpringBoot你可以不用或者只需要很少的配置文件。
Spring Boot核心功能
- 獨立運行的Spring項目:可以以jar包形式獨立運行,通過java -jar xx.jar即可運行
- 內嵌Servlet容器:可以選擇內嵌Tomcat、Jetty等
- 提供starter簡化maven配置:一個maven項目,使用了spring-boot-starter-web時,會自動加載Spring Boot的依賴包
- 自動配置Spring:Spring Boot會根據在類路徑中的jar包、類,爲jar包中的類自動配置Bean
- 準生產的應用監控:提供基於http、ssh、telnet對運行時的項目進行監控
- 無代碼生成和xml配置:主要通過條件註解來實現
Spring Boot項目搭建
這裏使用maven進行項目搭建,有幾種搭建方式
1、http://start.spring.io/,填寫相關的項目信息、jdk版本等,就會生成一個maven項目的壓縮包,下載解壓導入IDE就可以
2、IDE下直接創建,推薦使用STS(Spring Tool Suite)、IntelliJ IDEA均支持直接搭建,STS是Spring基於eclipse進行二次開發的工具
Spring Tool Suite :新建Spring Initializr項目,填寫項目信息和選擇技術,將項目設置成maven項目
IntelliJ IDEA:新建Spring Starter project,填寫項目信息和選擇技術完成maven工程創建
3、Spring Boot CLI工具,使用命令創建
4、手工構建maven項目
-
- 任意IDE新建空maven項目
- 修改pom.xml添加Spring Boot的父級依賴Spring-boot-starter-parent,添加之後這個項目就是一個Spring Boot項目了
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
Spring-boot-starter-parent是一個特殊的starter,用來提供相關的maven默認依賴,使用之後,常用的包依賴可以省略version標籤
- 修改pom.xml添加web支持的starter
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- 添加Spring boot編譯插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
項目生成之後,會在根包目錄下生成一個入口類,添加一個測試控制器簡單測試一下
package admin;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication //Spring Boot核心註解,用於開啓自動配置
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
package admin.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import admin.service.DemoService;
@RestController
@RequestMapping(value="/demo")
public class DemoController {
@Autowired
private DemoService demoService;
@GetMapping("/test")
public String test() {
return "lalalalla!!";
}
}
執行main方法之後,在瀏覽器中訪問http://localhost:8080/demo/test,可以得到如下結果:
lalalalla!!