SpringBoot介紹與使用

SpringBoot介紹與使用

1.什麼是SpringBoot

SpringBoot是Spring項目中的一個子工程,與咱們所熟知的Spring-framework 同屬於spring的產品:java

咱們能夠看到下面的一段介紹:程序員

Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and is designed to get you up and running as quickly as possible.web

翻譯一下:spring

用一些固定的方式來構建生產級別的spring應用。Spring Boot 推崇約定大於配置的方式以便於你可以儘量快速的啓動並運行程序。apache

其實人們把Spring Boot 稱爲搭建程序的腳手架。其最主要做用就是幫咱們快速的構建龐大的spring項目,而且儘量的減小一切xml配置,作到開箱即用,迅速上手,讓咱們關注與業務而非配置。安全

2.爲何要學習SpringBoot

java一直被人詬病的一點就是臃腫、麻煩。當咱們還在辛苦的搭建項目時,可能Python程序員已經把功能寫好了,究其緣由注意是兩點:springboot

  • 複雜的配置,服務器

    項目各類配置實際上是開發時的損耗, 由於在思考 Spring 特性配置和解決業務問題之間須要進行思惟切換,因此寫配置擠佔了寫應用程序邏輯的時間。app

  • 一個是混亂的依賴管理。maven

    項目的依賴管理也是件吃力不討好的事情。決定項目裏要用哪些庫就已經夠讓人頭痛的了,你還要知道這些庫的哪一個版本和其餘庫不會有衝突,這難題實在太棘手。而且,依賴管理也是一種損耗,添加依賴不是寫應用程序代碼。一旦選錯了依賴的版本,隨之而來的不兼容問題毫無疑問會是生產力殺手。

而SpringBoot讓這一切成爲過去!

Spring Boot 簡化了基於Spring的應用開發,只須要「run」就能建立一個獨立的、生產級別的Spring應用。Spring Boot爲Spring平臺及第三方庫提供開箱即用的設置(提供默認設置,存放默認配置的包就是啓動器),這樣咱們就能夠簡單的開始。多數Spring Boot應用只須要不多的Spring配置。

咱們可使用SpringBoot建立java應用,並使用java –jar 啓動它,就能獲得一個生產級別的web工程。

3.SpringBoot的特色

Spring Boot 主要目標是:

  • 爲全部 Spring 的開發者提供一個很是快速的、普遍接受的入門體驗
  • 開箱即用(啓動器starter-其實就是SpringBoot提供的一個jar包),但經過本身設置參數(.properties),便可快速擺脫這種方式。
  • 提供了一些大型項目中常見的非功能性特性,如內嵌服務器、安全、指標,健康檢測、外部化配置等
  • 絕對沒有代碼生成,也無需 XML 配置。

更多細節,你們能夠到官網查看。

4.SpringBoot搭建web工程

接下來,咱們就來利用SpringBoot搭建一個web工程,體會一下SpringBoot的魅力所在!

4.1.建立工程

咱們先新建一個空的工程:

工程名爲demo:

新建一個model:

使用maven來構建:

而後填寫項目座標:

目錄結構:

項目結構:

4.2.添加依賴

看到這裏不少同窗會有疑惑,前面說傳統開發的問題之一就是依賴管理混亂,怎麼這裏咱們還須要管理依賴呢?難道SpringBoot不幫咱們管理嗎?

彆着急,如今咱們的項目與SpringBoot尚未什麼關聯。SpringBoot提供了一個名爲spring-boot-starter-parent的工程,裏面已經對各類經常使用依賴(並不是所有)的版本進行了管理,咱們的項目須要以這個項目爲父工程,這樣咱們就不用操心依賴的版本問題了,須要什麼依賴,直接引入座標便可!

4.2.1.添加父工程座標

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>

4.2.2.添加web啓動器

爲了讓SpringBoot幫咱們完成各類自動配置,咱們必須引入SpringBoot提供的自動配置依賴,咱們稱爲啓動器。由於咱們是web項目,這裏咱們引入web啓動器:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

須要注意的是,咱們並無在這裏指定版本信息。由於SpringBoot的父工程已經對版本進行了管理了。

這個時候,咱們會發現項目中多出了大量的依賴:

這些都是SpringBoot根據spring-boot-starter-web這個依賴自動引入的,並且全部的版本都已經管理好,不會出現衝突。

4.2.3.管理jdk版本

默認狀況下,maven工程的jdk版本是1.5,而咱們開發使用的是1.8,所以這裏咱們須要修改jdk版本,只須要簡單的添加如下屬性便可:

<properties>
        <java.version>1.8</java.version>
    </properties>

4.2.4.完整pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.leyou.demo</groupId>
    <artifactId>springboot-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

4.3.啓動類

Spring Boot項目經過main函數便可啓動,咱們須要建立一個啓動類:

而後編寫main函數:

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

4.4.編寫controller

接下來,咱們就能夠像之前那樣開發SpringMVC的項目了!

咱們編寫一個controller:

代碼:

@RestController
public class HelloController {

    @GetMapping("hello")
    public String hello(){
        return "hello, spring boot!";
    }
}

4.5Yaml配置文件

配置文件除了可使用application.properties類型,還可使用後綴名爲: .yml 或者 .yaml的類型,也就是:application.yml或者application.yaml

Yaml是一種簡潔的非標記語言。Yaml是以數據爲中心,使用空白,縮進,分行組織數據,從而使得表示更加簡潔易讀。

基本格式:

#服務端口
server:
  port: 8080

若是兩個配置文件都有,會把兩個文件的配置合併,若是有重複屬性,以Properties中的爲準

4.6.啓動測試

接下來,咱們運行main函數,查看控制檯:

而且能夠看到監聽的端口信息:

  • 1)監聽的端口是8080
  • 2)SpringMVC的映射路徑是:/
  • 3)/hello路徑已經映射到了HelloController中的hello()方法

打開頁面訪問:http://localhost:8080/hello

測試成功了!

相關文章
相關標籤/搜索