[轉]通過Spring Boot三分鍾創建Spring Web項目


來源:https://www.tianmaying.com/tutorial/project-based-on-spring-boot

 

Spring Boot簡介

接下來我們所有的Spring代碼實例將會基於Spring Boot,因此我們先來了解一下Spring Boot這個大殺器。

Spring早期使用XML配置的方式來配置Spring Beans之間的關系,比如AOP和依賴注入的配置。隨着功能以及業務邏輯的日益復雜,應用便會伴隨大量的XML配置文件以及復雜的Bean依賴關系。隨着Spring 3.0的發布,Spring團隊逐漸開始擺脫XML配置文件,並且在開發過程中大量使用“約定優先配置”(convention over configuration)的思想來擺脫Spring框架中各類紛繁復雜的配置。Spring就是在這樣一種背景下被抽象出來的一個在Spring之上的開發框架。

Spring Boot的設計目的是用來簡化新Spring應用的創建以及開發過程。從它的名字可以看出,其作用在於創建和啟動新的基於 Spring 框架的項目,它能夠幫助開發人員很容易的創建出基於Spring的獨立運行和產品級別的應用。它包含的特性如下:

  • 應用獨立運行,對於Web應用直接嵌入應用服務器(Tomcat or Jetty)
  • 根據項目的依賴(Maven or Gradle中定義的依賴)自動配置Spring框架的特性
  • 提供生產環境中的監控功能——性能、應用狀態信息等
  • 不會生成繁瑣的Java代碼以及XML配置文件

Spring Boot並不是用來替代Spring的解決方案,而是和Spring框架緊密結合用於提升Spring開發者體驗的工具。Spring Boot應用通常只需要非常少量的配置代碼,而且有內嵌的Web服務器,讓開發者能夠更加專注於業務邏輯。在后面的開發過程中,我們能夠逐漸感受到Spring Boot這些優秀特性給我們帶來的好處。

第一個Spring Boot項目

接下來我們通過創建一個簡單的Spring Boot項目來建立對初步的印象。一開始可能會遇到一些不太理解的地方,沒關系,我們會在學習過程中我們會逐一搞定。

  • 我們通過Maven來創建項目,【File】->【New】->【Others...】;
  • 彈出的對話框中包含了一系列的項目類型,我們選擇Maven Project

    一個技巧是可以在type filter text中輸入Maven進行搜索過濾,這樣很快可以找到Maven Project

  • 選中后出現了新的對話框,勾選Create a simple project (skip archetype selection),點擊Next >后,按照下圖輸入內容:

  • 輸入完成后點擊Finish,第一個項目就創建成功了。

項目創建成功后,在Eclipse IDE左邊的Project Explorer中會出現我們剛剛創建的項目,其中有一個pom.xml文件,我們先對它進行修改,增加一個依賴,內容變為:

<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>1.2.3.RELEASE</version> </parent> <groupId>com.tianmaying</groupId> <artifactId>website</artifactId> <version>0.0.1-SNAPSHOT</version> <name>tmy-website</name> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> </project> 

編輯完成后保存(可以使用Ctrl+S快捷鍵)。

編寫Web應用程序

然后我們在src/main/java目錄下新建一個Java文件:

在這里我們需要填寫Package, Name兩個字段就可以了,然后編輯這個java文件:

package com.tianmaying.webdev; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @SpringBootApplication @Controller public class Application { @RequestMapping("/") @ResponseBody public String index() { return "Hello World!"; } public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 

運行Web應用程序

經過以上步驟,一個簡單的Web應用就已經開發完成了。接下來我們要將它運行起來:

  • Project Explorer中找到Application.java
  • 右鍵彈出菜單Run as...,選中Java Application

接下來就能看到在IDE下方的Console視圖中出現運行信息,當你看到Started Application in 2.214 seconds (JVM running for 2.466)信息后,說明應用服務器啟動成功。

接下來打開瀏覽器,在地址欄中輸入[http://localhost:8080](http://localhost:8080),如果能夠看到Hello World!出現在瀏覽器中,那說明環境配置大功告成!

Spring Boot初探

Maven的POM文件之間可以有繼承關系,下面這段代碼就表示我們的POM文件繼承自groupIdorg.springframework.bootartifactIdspring-boot-starter-parentversion1.2.3.RELEASE的POM文件。

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

這個文件是Spring Boot提供給我們的,里面定義了一些屬性,比如Java編譯級別,UTF-8編碼,以及測試框架和一些插件的配置。這里我們只管引入就好。注意這個Parent POM中定義的Java編譯級別為1.6,如果需要改變為1.8,只需要重新定義<java.version>屬性即可覆蓋,類似於類的方法重載。

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

在Maven依賴中引入了spring-boot-starter-web,它包含了Spring Boot預定義的一些Web開發的常用依賴:

  • spring-web, spring-webmvc: Spring Web Mvc框架
  • tomcat-embed-*: 內嵌Tomcat容器
  • jackson :處理json數據
  • spring-* :Spring框架
  • spring-boot-autoconfigure: Spring Boot提供的自動配置功能

Java代碼中沒有任何配置,和傳統的Spring應用相比,多了一個@SpringBootApplication,這是是Spring Boot提供的注解,這個注解會告訴Spring去掃描類路徑,初始化Spring Context以及啟動內嵌Tomcat容器等一系列操作。我們沒有看到一行配置代碼,也沒有web.xml。基於Spring Boot的應用在大多數情況下都不需要我們去顯式地聲明各類配置,而是將最常用的默認配置作為約定,在不聲明的情況下也能適應大多數的開發場景。

小節

即使我們還沒有使用Spring的驚訝,從這個簡單的Spring Boot項目我們也可以發現開發上相比傳統的JSP和Servlet開發已經具有了一些特點,比如:

  • 不需要再專門配置Web服務器,Web服務器已經被內嵌在應用中了,應用開發環境的建立更加簡單了,從現在開始讓我們可以和之前安裝和配置過的Tomcat說再見了。

  • Spring Boot提供的依賴,比如spring-boot-starter-web,能夠幫助我們引入大部分Web開發中需要用到的依賴,極大的簡化了我們自己配置依賴的工作。

我們已經了解了創建Spring Boot應用的基本步驟,接下來我們要做的第一步就是講博客應用通過Spring Boot來重寫。

參考

版權聲明 本文由David創作,轉載需署名作者且注明文章出處 參考代碼 要獲取本文的參考代碼,請訪問: https://www.tianmaying.com/tutorial/project-based-on-spring-boot/repo


免責聲明!

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



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