(一)SpringBoot2.0基礎篇- 介紹及HelloWorld初體驗


1.SpringBoot介紹:

  根據官方SpringBoot文檔描述,BUILD ANYTHING WITH SPRING BOOT (用SPRING BOOT構建任何東西,很牛X呀!),下面是官方文檔介紹(文檔地址,感興趣可以看看:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-documentation):

  

    • 啟動項目在秒范圍內;
    • 構建任何東西——REST API、WebSocket、Web、流媒體、任務等等;
    • 簡化的安全架構;
    • 豐富的關系型數據庫和非關系型數據庫的支持;
    • 嵌入式的運行環境支持,Tomcat,Jetty和Undertow;
    • 開發人員的福利,熱部署等;
    • 僅僅是工作上的依賴;
    • 可生產性,跟蹤,監控等特性;
    • 支持你常用的IDE工具;、

2.SpringBoot運行環境:

  2.1 JDK環境:1.8+;

  2.2 項目構建工具:maven:3.2+;

         gradle:與4兼容;

2.3 Servlet容器:

Name Servlet Version

Tomcat 8.5

3.1

Jetty 9.4

3.1

Undertow 1.4

3.1

3.SpringBoot初體驗(HelloWorld):

  3.1 引入Maven依賴庫:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5   <modelVersion>4.0.0</modelVersion>
 6 
 7   <groupId>com.cn</groupId>
 8   <artifactId>spring-boot-hello</artifactId>
 9   <version>1.0-SNAPSHOT</version>
10 
11   <properties>
12     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13     <java.version>1.8</java.version>
14   </properties>
15 
16   <parent>
17     <groupId>org.springframework.boot</groupId>
18     <artifactId>spring-boot-dependencies</artifactId>
19     <version>2.0.1.RELEASE</version>
20   </parent>
21 
22   <dependencies>
23     <dependency>
24       <groupId>org.springframework.boot</groupId>
25       <artifactId>spring-boot-starter-web</artifactId>
26     </dependency>
27   </dependencies>
28 </project>
pom.xml

  3.2 創建啟動類:

 1 package com.cn;
 2 
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 
 6 /**
 7  * @program: spring-boot-example
 8  * @description: 啟動類
 9  * @author:
10  * @create: 2018-04-28 10:42
11  **/
12 @SpringBootApplication
13 public class HelloApplication {
14 
15     /**
16      * @Description:
17      * @Param: [Class]  配置類源類
18      * @Param: [args]   應用啟動參數
19      * @return: void
20      * @Author:
21      * @Date: 2018/4/28
22      */
23     public static void main(String[] args) {
24         SpringApplication.run(HelloApplication.class, args);
25     }
26 
27 }
HelloApplication.java

  3.3 創建Controller訪問對接口:

 1 package com.cn.controller;
 2 
 3 import org.springframework.web.bind.annotation.RequestMapping;
 4 import org.springframework.web.bind.annotation.RestController;
 5 
 6 /**
 7  * @program: spring-boot-example
 8  * @description: 控制層:helllocontroller
 9  * @author:
10  * @create: 2018-04-28 10:49
11  **/
12 
13 @RestController
14 public class HelloController {
15 
16     /**
17      * @Description:
18      * @Param:
19      * @return:
20      * @Author: 
21      * @Adress: http://localhost:8080/hello
22      * @Date: 2018/4/28
23      */
24     @RequestMapping("hello")
25     public String hello() {
26         return "Hello World!";
27     }
28 
29 }
HelloController.java

  注意:HelloController.java文件要在啟動類的本包或子包中,才可以被啟動類掃描到,詳情請看:http://www.cnblogs.com/lfalex0831/p/8922468.html,SpringBoot默認掃描的范圍為本包及子包;

  3.4 啟動啟動類,打開瀏覽器,輸入 http://localhost:8080/hello 訪問:

  

  返回HelloWorld到頁面;

  注:

    • @SpringBootApplication:SpringBoot的啟動類注解,查看源碼發現它其實是@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan三個的注解集(源碼之后會有進階篇,我認為學一個東西先學會它的應用然后再學習它的本質);
    • SpringApplication.run(HelloApplication.class, args); 真正的啟動代碼,會做一些初始化操作,啟動內置的監聽器,創鍵environment對象並加載配置項等;
    • @RestController:還是查看源碼發現,它是@Controller,@ResponseBody的集合,它Spring4之后新加入的注解,原來返回json需要@ResponseBody和@Controller配合,現在一步搞定;
    • @RequestMapping("hello") 請求映射不多說了;

 4.創建可執行JAR

  我們也可以通過插件創建一個在生產環境中運行的可執行jar文件來完成我們的示例。

  首先引入依賴:

<build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
</build>

  在項目目錄下打開cmd命令,使用 mvn package 命令進行打包,如下:

  

  如果想查看打包后的jar文件內部目錄,可用命令  jar tvf target/myproject-0.0.1-SNAPSHOT.jar 查看目錄結構;

  使用 java -jar target\spring-boot-hello-1.0-SNAPSHOT.jar 啟動應用如下:

  

  測試結果如3.4所演示的;

  如果在啟動時遇見沒有主清單目錄的錯誤的話,請看:http://www.cnblogs.com/lfalex0831/p/8967428.html

 

 

完整示例:https://gitee.com/lfalex/spring-boot-example

參考官方文檔:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-documentation


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM