1. 程式人生 > >教你搭建Spring Boot專案,包會!

教你搭建Spring Boot專案,包會!

目錄

 

前言

開始搭建最簡單的Spring Boot工程(下文會延伸)

第一步:開啟IDEA,新建專案

第二步:選擇Spring Initializr

 第三步:設定專案基本資訊

第四步:為專案選擇依賴

 第五步:建立專案資料夾

 第六步:等待IDEA完成專案的構建

 第七步:建立一個控制器

第八步:啟動專案,訪問測試

延伸——搭建實用的Spring Boot+JSP環境

第一步:開啟File—Project  Structrue選項

 第二步:新增Modules

 第三步:新增相關路徑及資料夾名稱

 第四步:建立jsp資料夾以及jsp檔案

 第五步:修改pom.xml,新增所需的依賴包

第六步:修改resources資料夾下的application.properties檔案

第七步:修改控制器的處理

第八步:啟動瀏覽器,訪問測試

 總結


前言

之前做專案,大家一般都是搭建SSM環境或者SSH環境,不管專案是大是小,是複雜還是簡便,我們都需要維護一堆的配置檔案,儘管Spring支援使用註解的方式進行各個層級的元件的裝配與維護,但是一系列的配置檔案好像是必不可少的,比如要在web.xml配置DispatcherServlet,要在mvc配置檔案配置檢視解析器,掃描包含註解元件的包……不得不說,傳統的SSM專案雖然與之前的EJB相比要高效很多,但是並不是所有的專案都適合這樣的工程環境,搭框架的時間足以實現系統的一大半功能了。

但是如果我不想搭建複雜的SSM環境,又想很好地運用MVC模式、在專案中的元件之間解耦,怎麼辦呢?

這時候,Spring Boot就應運而生了,Spring Boot的目標就是簡化Spring應用程式的開發,降低其開發成本,使開發者在儘可能小的阻力下開發Spring應用。在Spring Boot中,憑藉它的自動配置、起步依賴、命令列介面等特性,可以沒有web.xml,沒有配置檔案,沒有構建說明,甚至沒有應用伺服器(Spring Boot內部包含伺服器),實現“零配置”。

關於Spring Boot的詳細介紹以及教程,在這裡不做過多的闡述,儘量在程式碼裡進行講解,想學習的朋友可以查閱官方文件或者從網上搜索相關資料,很簡單,相信通過下面這個例子,不敢說對它很精通,但最起碼你可以掌握它的應用!

在下面的工程中,我們在IntelliJ  IDEA中進行搭建,因為IDEA對Spring Boot有很好的支援,是一個很不錯的整合開發環境。

開始搭建最簡單的Spring Boot工程(下文會延伸)

第一步:開啟IDEA,新建專案

第二步:選擇Spring Initializr

 第三步:設定專案基本資訊

第四步:為專案選擇依賴

這一步是為你的專案選擇一些必要的依賴,比如資料庫驅動包、web、I/O元件等等,這裡我們只選擇Web,Spring Boot會為我們配置好所需要的環境,並且自動匯入延伸的依賴包,至於資料庫什麼的,各位如果用到了,選上就行了。這一步其實就是在pom.xml中為我們新增一些必要的jar包。

 第五步:建立專案資料夾

 第六步:等待IDEA完成專案的構建

初次搭建Spring Boot工程的朋友,可能要稍微等那麼不到一分鐘,IDEA會為我們進行必要的配置,完成之後的目錄是這樣的:

 這就是Spring Boot的簡單專案結構,我們現在把影響市容的幾個資料夾或檔案刪掉:

 第七步:建立一個控制器

現在我們什麼配置都不做,在com.boot.demo包下新建一個資料夾controller(與DemoApplication類同一級),然後新建一個HelloController類,使用@RestController註解將其定義為一個控制器。

需要注意,不管是這裡定義的控制器,還是真正的專案中的服務層元件,包層級都必須要小於啟動類***Application的包路徑,因為在Spring Boot中,啟動專案之後,將載入***Application類所在包下及其子包下所有的元件,如果你定義的元件不在這個範圍內,那麼你定義的元件將無法註冊到Spring容器中。為了規範,我們一般將包含相關元件的包,與***Application類放在同一級目錄下。

 程式碼內容很簡單,如下:

package com.boot.demo.controller;

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

@RestController
public class HelloController {
    @RequestMapping("index.html")
    public String index(){
        return "Hello,World!";
    }
}

第八步:啟動專案,訪問測試

直接點選這個按鈕進行啟動,

當看到控制檯打印出如下資訊,說明啟動成功(此時Spring Boot內建伺服器的埠是8080,當然我們可以進行配置修改,下文介紹) :

 然後我們開啟瀏覽器,輸入localhost:8080/index.html,會出現如下頁面:

 到這裡,我們的Hello World程式就進行完了,可以看到,我們幾乎什麼都沒有做,專案建立好之後只寫了一個控制器,就可以進行頁面訪問了。

但是,一個Web系統絕對不是這麼簡單,通常我們會有JSP頁面,MVC模式的請求處理……然而,Spring Boot本身是不支援JSP頁面的,它比較提倡使用HTML進行程式設計,那麼我們怎樣才能達到自己的目的呢?

這就需要搭建Spring Boot+JSP的開發環境,很簡單,只需要在前面的基礎上進行小的修改,下面我們就開始!

延伸——搭建實用的Spring Boot+JSP環境

首先我們需要在src\main路徑下新增一個webapp資料夾(注意不要亂起名,就叫webapp,而且與java、resource同級),但是這個資料夾可不是隨便就能新增的,必須按照以下步驟進行部署:

第一步:開啟File—Project  Structrue選項

 第二步:新增Modules

 第三步:新增相關路徑及資料夾名稱

首先是上邊的內容:

 

然後是下半部分:

 點選OK,會彈出一個框,詢問是否建立該資料夾,點選OK,然後點選右下角的Apply,然後點選OK退出此對話方塊。

然後你就會看到這樣的一個結構(三者同級目錄):

 第四步:建立jsp資料夾以及jsp檔案

在webapp下建立jsp資料夾,並在此資料夾下新建檔案index.jsp:

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
你好,${name},這是你的第一個有模有樣的Spring Boot應用程式。
</body>
</html>

 第五步:修改pom.xml,新增所需的依賴包

因為我們這是JSP檔案,而且使用了表示式,所以我們必須在pom.xml中新增如下內容:

<dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

如果它不能自動下載,你可以在左面目錄結構那裡,選中你的專案名右鍵,然後選中選單欄裡的“maven”選項,點選“Reimport”重新進行匯入。

第六步:修改resources資料夾下的application.properties檔案

這個檔案是Spring Boot的配置檔案,在這裡我們可以進行相關的配置,比如埠號、檢視解析器等等,下面我們將埠號指定為8088,並且設定檢視解析器的字首、字尾:

server.port=8088
spring.mvc.view.prefix=/jsp/
spring.mvc.view.suffix=.jsp

第七步:修改控制器的處理

將註解換為@Controller,因為@RestCotroller註解其實是@Controller和@ResponseBody兩個的粘合版,所以剛才我們返回的字串直接作為JSON資料列印在了頁面上,並不會作為檢視名做處理。

package com.boot.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
public class HelloController {
    @RequestMapping("index.html")
    public String index(Model model){
        model.addAttribute("name","老王");
        return "index";
    }
}

第八步:啟動瀏覽器,訪問測試

需要注意,我們將埠設定為了8088,所以輸入localhost:8088/index.html,頁面上會列印:

“你好,老王,這是你的第一個有模有樣的Spring Boot應用程式。”

 總結

以上就是Spring Boot環境的搭建以及使用,有沒有感覺很方便?我們沒有寫Spring的配置檔案,也沒有寫web.xml檔案,就實現了SSM環境的功能,只不過我們沒有用資料庫,就算用資料庫,只要在建立專案時選上依賴即可,然後同樣可以建立三層架構的目錄,建立SQL對映檔案,使用註解定義元件……這不就是一個使用Spring Boot開發的Web專案嗎?我們沒有引入複雜的配置檔案,只在application.properties中設定了三行程式碼,就完成了同樣的功能,這就是Spring Boot的極簡理念,比Spring還要簡。

以後博主會繼續更新相關的知識,做出分享,希望可以與大家交流!