首先聲明,Spring Boot不是一門新技術,所以不用緊張。從本質上來說,Spring Boot就是Spring,它做了那些沒有它你也會去做的Spring Bean配置。它使用“習慣優於配置”(項目中存在大量的配置,此外還內置了一個習慣性的配置,讓你無需手動進行配置)的理念讓你的項目快速運行起來。使用Spring Boot很容易創建一個獨立運行(運行jar,內嵌Servlet容器)、準生產級別的基於Spring框架的項目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
Spring將很多魔法帶入了Spring應用程序的開發之中,其中最重要的是以下四個核心。
- 自動配置:針對很多Spring應用程序常見的應用功能,Spring Boot能自動提供相關配置
- 起步依賴:告訴Spring Boot需要什麼功能,它就能引入需要的庫。
- 命令行界面:這是Spring Boot的可選特性,藉此你只需寫代碼就能完成完整的應用程序,無需傳統項目構建。
- Actuator:讓你能夠深入運行中的Spring Boot應用程序,一探究竟。
Spring Boot父級依賴
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>這塊配置就是Spring Boot父級依賴,有了這個,當前的項目就是Spring Boot項目了,spring-boot-starter-parent是一個特殊的starter,它用來提供相關的Maven默認依賴,使用它之後,常用的包依賴可以省去version標籤,也就是一些常用的包可以不用自定義版本依賴。
如果你不想使用某個依賴默認的版本,您還可以通過覆蓋自己的項目中的屬性來覆蓋各個依賴項,例如,要升級到另一個Spring Data版本系列,您可以將以下內容添加到pom.xml中。
<properties> <spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version> </properties>
您可能有您需要使用的自己的公司標準parent,或者您可能更喜歡顯式聲明所有的Maven配置。
如果你不想使用spring-boot-starter-parent,您仍然可以通過使用scope = import依賴關係來保持依賴關係管理:
如果你不想使用spring-boot-starter-parent,您仍然可以通過使用scope = import依賴關係來保持依賴關係管理:
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
該設置不允許您使用如上所述的屬性(properties)覆蓋各個依賴項,要實現相同的結果,您需要在spring-boot-dependencies項之前的項目的dependencyManagement中添加一個配置,例如,要升級到另一個Spring Data版本系列,您可以將以下內容添加到pom.xml中。<dependencyManagement>
<dependencies>
<!-- Override Spring Data release train provided by Spring Boot -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Fowler-SR2</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
起步依賴 spring-boot-starter-xx
Spring Boot提供了很多”開箱即用“的依賴模塊,都是以spring-boot-starter-xx作爲命名的。
就比如我們之前要實現web功能,引入了spring-boot-starter-web這個起步依賴。我們來看看spring-boot-starter-web到底依賴了哪些,如下圖:
差不多介紹完了,直接上個HelloWorld吧。
首先創建一個maven項目,添加spring boot的parent依賴:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
最後編寫spring boot的啓動類:@Controller
@SpringBootApplication
@Configuration
public class HelloApplication {
@RequestMapping("hello")
@ResponseBody
public String hello(){
return "hello world!";
}
public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
代碼說明:
1、@SpringBootApplication:Spring Boot項目的核心註解,主要目的是開啓自動配置。;
2、@Configuration:這是一個配置Spring的配置類;
3、@Controller:標明這是一個SpringMVC的Controller控制器;
4、main方法:在main方法中啓動一個應用,即:這個應用的入口;
在Spring Boot項目中,啓動的方式有兩種,一種是直接run Java Application另外一種是通過Spring Boot的Maven插件運行第一種:
第二種:
啓動效果:
看到如下信息就說明啓動成功了:
INFO 6188 --- [ main]c.i.springboot.demo.HelloApplication : Started HelloApplication in 3.281 seconds(JVM running for 3.601)
測試
打開瀏覽器,輸入地址:
效果:
大功告成!!
最後貼一下我的項目位置: