SpringBoot簡單入門

什麼是Spring Bootjava

Spring Boot是由Pivotal團隊提供的基於Spring的全新框架,其設計目的是爲了簡化Spring應用的搭建和開發過程。該框架遵循「約定大於配置」原則,採用特定的方式進行配置,從而使開發者無需定義大量的XML配置。經過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域成爲領導者。web

Spring Boot並不重複造輪子,並且在原有Spring的框架基礎上封裝了一層,而且它集成了一些類庫,用於簡化開發。換句話說,Spring Boot就是一個大容器。spring

幾張下面展現圖產品了官網上提供的彈簧引導所集成的全部類庫:apache

圖片描述

圖片描述

圖片描述

Spring Boot官方推薦使用Maven或Gradle來構建項目,本教程採用Maven。api

第一個Spring Boot項目
大多數教程都是以Hello World入門,本教程也不例外,接下來,咱們就來搭建一個最簡單的Spring Boot項目。瀏覽器

首先建立一個Maven工程,請看下圖:app

這裏寫圖片描述框架

而後在pom.xml加入Spring Boot依賴:maven

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

建立一個Controller類HelloController:ide

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class HelloController {

@RequestMapping("hello")
String hello() {
return "Hello World!";
}

public static void main(String[] args) {
SpringApplication.run(HelloController.class, args);
}
}

運行主方法,Spring Boot默認會啓動自帶的Tomcat容器,啓動成功後,瀏覽器訪問:http:// localhost:8080 / hello,則會看到下圖:

這裏寫圖片描述

咱們能夠注意到,沒有寫任何的配置文件,更沒有顯示的使用任何容器,它是如何啓動程序的呢,具體原理我將在第3課中具體分析。

這裏咱們能夠初步分析出,Spring Boot提供了默認的配置,在啓動類里加入@SpringBootApplication註解,則這個類就是整個應用程序的啓動類。

屬性和yaml
Spring Boot整個應用程序只有一個配置文件,那就是.properties或.yml文件。可是,在前面的示例代碼中,咱們並無看到該配置文件,那是由於Spring Boot對每一個配置項都有默認值。固然,咱們也能夠添加配置文件,用以覆蓋其默認值,這裏以.properties文件爲例,首先在資源下新建一個名爲application.properties(注意:文件名必須是應用)的文件,鍵入內容爲:

server.port=8081
server.servlet.context-path=/api

而且啓動main方法,這時程序請求地址則變成了:http:// localhost:8081 / api / hello。

Spring Boot支持屬性和yaml兩種格式的文件,文件名分別對應application.properties和application.yml,下面貼出yaml文件格式供你們參考:

server:
    port: 8080
    servlet:
        context-path: /api

能夠看出屬性是以逗號隔開,而yaml則換行+ tab隔開,這裏須要注意的是冒號後面必須空格,不然會報錯.yaml文件格式更清晰,更易讀,這裏做者建議你們都採用yaml文件來配置。

本教程的全部配置均採用yaml文件。

打包,運行
Spring Boot打包分爲war和jar兩個格式,下面將分別演示如何構建這兩種格式的啓動包。

在pom.xml加入以下配置:

<packaging>war</packaging>
<build>
<finalName>index</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>

這個時候運行mvn包就會生成war包,而後放到Tomcat當中就能啓動,可是咱們單純這樣配置在Tomcat是不能成功運行的,會報錯,須要經過編碼指定Tomcat容器啓動,修改HelloController類:

@RestController
    @SpringBootApplication
    public class HelloController extends SpringBootServletInitializer{
    
    @RequestMapping("hello")
    String hello() {
    return "Hello World!";
    }
    
    public static void main(String[] args) {
    SpringApplication.run(HelloController.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(Application.class);
    }
    
    }

這時再打包放到Tomcat,啓動就不會報錯了。

接下來咱們繼續看若是達成jar包,在pom.xml加入以下配置:

<packaging>jar</packaging>
<build>
<finalName>api</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<mainClass>com.lynn.yiyi.Application</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

而後經過mvn package打包,最後經過java命令啓動:

java -jar api.jar
這樣,最簡單的Spring Boot就完成了,可是對於一個大型項目,這是遠遠不夠的,Spring Boot的詳細操做能夠參照官網。

下面展現一個最基礎的企業級Spring Boot項目的結構:

這裏寫圖片描述

其中,Application.java是程序的啓動類,Startup.java是程序啓動完成前執行的類,WebConfig.java是配置類,全部bean注入,配置,攔截器注入等都放在這個類裏面。

以上實例只是最簡單的Spring Boot項目入門實例,後面會深刻研究Spring Boot。

相關文章
相關標籤/搜索