1. 程式人生 > >Spring Boot(一) .NET程式設計師入門篇

Spring Boot(一) .NET程式設計師入門篇

一、Spring Boot之我見

    Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。

    Spring Boot 是所有基於 Spring 開發的專案的起點。Spring Boot 的設計是為了讓你儘可能快的跑起來 Spring 應用程式並且儘可能減少你的配置檔案

    這是百科上對Spring Boot的說明。實際上在我看來Spring Boot就是Spring等一系列的java技術棧框架的組合加上約定大於配置的思想。它並不是一項新的技術也不是一個新的框架,而是各種技術的一個組合,它預設配置了很多框架的使用方式。它的出現,極大的提高了java應用的開發效率。其特性就是輕量級、可插拔、微服務。同時idea和spring boot的出現也顛覆了我一個.net程式設計師曾經對java的認知(我是.net出身的程式設計師,對於java最大的印象就是“配置”、“配置”、“配置”和難用的一筆的IDE)。原來Java專案開發也可以變得優雅起來!

二、專案搭建

     在還是SSM(SSH)的時代搭建一個Web專案大概需要以下幾步

  1. 新建專案

  2. 配置Web.xml,載入Spring和Spring Mvc

  3. 配置資料庫連線、配置Spring事務,配置mybatis

  4. 配置載入配置檔案的讀取,開啟註解

  5. 配置日誌檔案

  6. 配置完成後部署Tomcat除錯

    ...

    一堆的配置,看得人頭大,也讓很多初學者望而卻步。

    而有了Spring Boot,一切將會簡單而優雅。

    本文將從Hello World做起,搭建一個簡單的Spring Boot Web專案。

  7. File——New——Project(Moudle)

注意: 圖中的https://start.spring.io/,也可以直接開啟,在網站上直接生成專案下載,用idea開啟也是一樣的。

  1. Next將看到以下介面

  1. 繼續下一步,選擇Web->Spring Boot,在這裡我們可以選擇Spring Boot版本

  1. 繼續下一步

  1. 點選完成將看到如下目錄結構

至此,一個Spring Boot專案就建立完成。

三、專案結構說明

  1. 專案結構中主要目錄說明大致如下
->spring-boot-web                        (專案或模組)
---> src
----->main
------->java                             (Java程式碼目錄)
--------->spring.boot.web                 (包spring.boot.web)
----------->SpringBootWebApplication       (Spring Boot啟動類)
------->resources
--------->static                         (靜態資源目錄)
--------->templates                      (檢視模板目錄)
--------->application.properties          (專案配置檔案)
------->test                            (測試)
--------->java                      
----------->spring.boot.web
----------->SpringBootWebApplicationTests  (Spring Boot測試啟動類)
--->pom.xml                             (maven pom配置檔案)
  1. pom檔案說明

    pom.xml,它是maven來管理各種jar包依賴的一個配置檔案,maven相當於.net中的nuget,是一個包管理工具。我們可以看到專案搭建好之後,就預設為我們加上了下面這些配置。

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--父節點配置了Spring Boot的一些資訊,父節點代表子節點可以繼承父節點的一些配置,如版本號,在這裡配置了就不用在子節點配置了-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <!--專案資訊-->
    <groupId>spring.boot.examples</groupId>
    <artifactId>spring-boot-web</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>spring-boot-web</name>
    <description>Demo project for Spring Boot</description>

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

    <!--依賴的包配置在下面這個節點-->
    <dependencies>
        <!--引入Spring Boot Web模組-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--引入Spring Boot 測試模組-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!--Spring Boot Maven 外掛-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
  1. Spring Boot啟動類
package spring.boot.web;

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

@SpringBootApplication
public class SpringBootWebApplication {

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

}

啟動類是Spring Boot程式的入口。

四、Hello World

  1. 新建控制器

    我們在spring.boot.web下建一個controller包,包內新建HelloWorld類

    package spring.boot.web.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloWorld {
    
        @RequestMapping("/helloWorld")
        public String Hello() {
            return "Hello World!";
        }
    }
    

    這裡有兩個註解:

    @RestController的意思就是controller裡面的方法都以json格式輸出,不用再寫什麼jackjson配置的了!

    @RequestMapping配置Url對映

  2. 啟動Spring Boot專案

    由於Spring Boot專案內建Tomcat伺服器,我們不需要在部署到Tomcat。只需要要在配置檔案application.properties裡配置一下埠號,然後idea->run->run。

  server.port=8888

如下圖,代表啟動成功!

開啟瀏覽器輸入:http://localhost:8888/helloWorld

至此,Hello World專案完成。於Java上,再次體驗到了簡潔優雅的開發!

示例代