1. 程式人生 > >SpringBoot--01.SpringBoot2.0入門案例

SpringBoot--01.SpringBoot2.0入門案例

一、SpringBoot簡介

1、SpringBoot概述(簡化配置、開箱即用)

- 為所有 Spring 的開發者提供一個非常快速的、廣泛接受的入門體驗
- 開箱即用(啟動器starter-其實就是SpringBoot提供的一個jar包),但通過自己設定參
(.properties),即可快速擺脫這種方式。
- 提供了一些大型專案中常見的非功能性特性,如內嵌伺服器、安全、指標,健康檢測、外部化配置等
- 絕對沒有程式碼生成,也無需 XML 配置。

2、SpringBoot和SpringMvc區別

SpringBoot 是一個快速開發的框架,能夠快速的整合第三方框架,簡化XML配置,全部採用註解形式,
內建Tomcat容器,幫助開發者能夠實現快速開發,SpringBoot的Web元件 預設整合的是SpringMVC框架.SpringMVC是控制層。

3、SpringBoot和SpringCloud區別

SpringCloud依賴與SpringBoot元件,使用SpringMVC編寫Http協議介面,同時SpringCloud是一套完整的微服務解決框架。

4、Spring和 SpringBoot區別

Spring 是一個“引擎”
Spring MVC 是基於 Spring 的一個 MVC 框架
Spring Boot 是基於 Spring4 的條件註冊的一套快速開發整合包
Spring 最初利用“工廠模式”( DI )和“代理模式”( AOP )解耦應用元件。大家覺得挺好用,
於是按照這種模式搞了一個 MVC 框架(一些用 Spring 解耦的元件),用開發 web 應用( SpringMVC )。
然後有發現每次開發都要搞很多依賴,寫很多樣板程式碼很麻煩,於是搞了一些懶人整合包( starter ),這套就是 Spring Boot 。

spring 框架有超多的延伸產品例如 boot security jpa etc... 但它的基礎就是 spring 的 ioc 和 aop ioc 
提供了依賴注入的容器 aop 解決了面向橫切面的程式設計,然後在此兩者的基礎上實現了其他延伸產品的高階功能。

Spring MVC 是基於 Servlet 的一個 MVC 框架 主要解決 WEB 開發的問題,因為 Spring 的配置太複雜了,
各種 XML JavaConfig hin 麻煩 於是懶人改變世界推出了 Spring boot 約定優於配置 簡化了 spring 的配置流程

二、入門案例

1、建立maven工程

 

2、pom引入依賴

2.1、完整pom.xml

<?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>

    <!-- 父工程 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
    </parent>


    <groupId>com.day01springBoot</groupId>
    <artifactId>SpringBoot01</artifactId>
    <version>1.0-SNAPSHOT</version>
    
    <!-- jdk版本 -->
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <!--web啟動器-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

</project>

2.2、新增父工程

SpringBoot提供了一個名為spring-boot-starter-parent的工程,裡面已經對各種常用依賴(並非全部)的版本進行了管理,
我們的專案需要以這個專案為父工程,這樣我們就不用操心依賴的版本問題了,需要什麼依賴,直接引入座標即可!
   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
    </parent>

 

2.3、新增web啟動器

為了讓SpringBoot幫我們完成各種自動配置,我們必須引入SpringBoot提供的自動配置依賴,
我們稱為啟動器。因為我們是web專案,這裡我們引入web啟動器:
需要注意的是,我們並沒有在這裡指定版本資訊。因為SpringBoot的父工程已經對版本進行了管理了
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

2.4、管理jdk版本

預設情況下,maven工程的jdk版本是1.5,而我們開發使用的是1.8,因此這裡我們需要修改jdk版本,只需要簡單的新增以下屬性即可:
<properties>
        <java.version>1.8</java.version>
    </properties>

3、編寫Controller

HelloSpring.java

package com.springboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ Author     :ShaoWei Sun.
 * @ Date       :Created in 10:53 2018/11/27
 */
@RestController
public class HelloController {
    //@GetMapping("/hello")
    @RequestMapping("/hello")
    public String hello(){
        return "SpringBoot 第一個程式";
    }
}

4、SpringBoot啟動

編寫啟動類:Application.java、執行main函式

package com.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @ Author     :ShaoWei Sun.
 * @ Date       :Created in 10:52 2018/11/27
 */
//@[email protected],@EnableAutoConfiguration,@ComponentScan
//掃包範圍:在啟動類上加上@SpringBootApplication註解,當前包下或者子包下所有的類都可以掃到
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}

 

5、啟動測試

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