(Spring Boot教程一 )Spring Boot入門(簡介,一個HelloWorld項目構建)

   最近在學習Spring Boot,所以打算做個教程,自己當筆記,也希望能夠幫助一些其他的同學一起共同學習呀。今天的這個入門,會對Spring Boot進行簡單介紹,並詳細的實現Spring Boot的一個小Demo,讓網頁顯示Hello World~

目錄

 

一、Spring Boot及微服務的簡介

二、一個Spring Boot的HelloWorld的程序


一、Spring Boot及微服務的簡介

1、簡介:Spring Boot是Spring團隊於2014年開始進行開發的一個簡化Spring開發的框架。在spring官網下的項目裏,Spring boot已經佔據了非常主要的一個地位。

    Spring Boot爲J2EE開發的提供一站式解決方案。它能夠幫助我們快速地建立一個企業級別的獨立應用,簡化Spring應用開發,思想爲約定大於配置。在一定的約定下,我們可以將過往開發過程中複雜的配置過程進行簡化,Just run即可建立一個應用程序。

2、Spring Boot特點:Spring Boot通過整合Spring的系列技術棧(我們在Spring官網下的Project中看到的一些內容,包括Spring Cloud等)來完成和簡化應用開發,同時,以爲Spring的特性,Spring Boot還能夠與其他的框架(JUnit)進行集成。我們來看它有什麼特別之處。

(1)自動配置:Spring Boot可以爲項目進行大量的自動配置,簡化項目的開發過程。但這種配置並不是不可修改的,開發人員也可以通過修改Spring Boot的配置文件對其進行修改。

(2)starters(啓動器)自動依賴與版本控制:當我們進行Spring Boot項目開發時,開發功能時直接導入相對應的啓動器,即可導入對應的依賴以及依賴的版本。以往我們進行依賴導入的時候需要手動進行,在網上搜索合適的資源有些jar包還有對應版本的依賴關係,十分麻煩。

(3)無xml配置,無代碼生成:利用Spring Boot的內置api進行配置

(4)使用嵌入式Servle容器:在進行web開發時可直接打包成爲.jar格式,通過java運行。與之前打包成爲war再通過tomcat進行部署的方式相比簡單了很多。

(5)便於運維和監控:Spring Boot提供了準生產環境的運行時監控,可以對應用的狀態和服務的狀態進行監控。

(6)集成雲計算

   Spring Boot是一個上手很快的開發框架,開發人員無需對框架的細節進行了解,只需要記住開發的規則並按照規則開發即可,十分便利。但由於Spring Boot是在Spring的基礎上進行的,所以如果項目需要對Spring Boot進行深度配置,就需要開發人員繼續學習Spring API的相關知識。所以想要能夠深度瞭解Spring Boot的整個運行機制還是需要花費大量時間來學習的。

3、微服務:和單體應用(ALL IN ONE)一樣,都是一種架構風格。微服務裏一個應用是一組小型服務,通過HTTP的方式進行互通。每一個功能元素最終都是一個可獨立替換和獨立升級的單元。以下內容摘自知乎

    附:一個外文的微服務的詳細介紹博客

    微服務導致了一個問題是部署和運維上的困難。對於此,Spring給出一個解決方案。Spring Boot進行快速構建微服務單元->通過Spring Cloud進行微服務單元間的互聯->Spring Cloud流式計算、批處理等。

二、一個Spring Boot的HelloWorld的程序

本文將通過構建一個maven項目逐漸展示構建一個Spring Boot項目所需要一些必備的組件和註釋,對於初學者來講很有必要,如果想要更簡單地構建一個Spring Boot的Hello World程序,可以看我的這篇博客

1、開發環境

(1)jdk1.8:windows+R輸入cmd打開命令行窗口,輸入下述命令,顯示你的jdk版本

java -version

(2)maven:Spring Boot要求maven 3.3版本以上,我使用3.6.0,安裝教程

(3)Intellij IDEA:爲方便描述下面使用IDEA作爲簡稱。這裏我使用的是IDEA 2018.3.5。 注(激)冊(活):https://blog.csdn.net/zhanggonglalala/article/details/88547992

(4)Spring Boot:我使用的是1.4.3

2、環境配置:

(1)maven設置:打開maven安裝目錄下的conf文件夾下的settings.xml,最好使用notepade++、IDEA或者其他的xml編輯軟件。然後再profiles下輸入下列代碼,然後保存,複製這個文件。在用戶目錄下,通常爲C盤->你的用戶名的文件夾下,找到名字爲.m2的文件夾,將剛剛複製的settings.xml文件複製過來,如果該文件夾下沒有repository文件夾就創建一個。

	<profile>
		<id>jdk-1.8</id>
		<activation>
			<activeByDefault>true</activeByDefault>
			<jdk>1.8</jdk>
		</activation>
		<properties>
			<maven.compiler.source>1.8</maven.compiler.source>
			<maven.compiler.target>1.8</maven.compiler.target>
			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
		</properties>
	</profile>

     爲什麼需要兩個settings文件?在用戶目錄下的,是針對於這個用戶所建項目的maven配置;而maven目錄下的settings文件是對這臺機器建立的全部maven項目進行配置。所以通常情況下我們不輕易動maven安裝目錄下的settings文件。

(2)IDEA配置,使用本地的maven:打開IDEA,找到settings。

    如果你是第一次打開IDEA,那麼你應該是這樣的界面,點擊紅框裏的Configure第一個選項應該就是Settings:

       如果你之前打開過IDEA,出現了項目編輯的界面,那麼settings應該在file->settings下

在settings中搜索maven,出現下面的界面,對畫框部分的內容進行設置,maven home directory部分應該選取自己的maven安裝路徑,會自動識別它的版本;User settings file和Local repository可以選擇是maven安裝目錄下/用戶目錄下的.m2目錄下的setting.xml文件和respository。兩者的不同已經在之前的maven設置裏說過了

3、新建maven項目:還是兩種情況,如果之前沒有打開過IDEA,直接點擊界面上的Create New Project;如果是打開過就file->new->project,出現下面的界面,選擇maven,然後確認以下Project SDK是否是自己安裝的jdk環境,如果不是的話,點擊右邊的New,找到自己安裝jdk的目錄即可。

      然後Next進入下面的界面,輸入GroupId和ArtifactId,ArtifactId其實可以看做模塊名,通常是和項目名一致。Version是版本號,1.0比1.0-SNAPSHOT要更加穩定,通常這裏我們根據需要進行輸入,因爲我們是第一次構建,所以直接默認就可以了。Next。

    輸入Project name,通常IDEA會根據你的ArtifactId來自動填充,去掉其中的符號,我們這裏選擇調整和項目名一致,當然不一致也不會構建錯誤,但是還是一致會比較符合習慣。Project location那裏會自動填充,你可以自己選擇喜歡的位置,要注意路徑的最後應與Project name一致,然後Finish。如果你選擇的路徑下沒有對應的文件夾,IDEA可能會提示你是否創建一個新的文件夾,選擇OK就可以了

     項目目錄如圖,並在IDEA右下角會提示,是否自動應用maven項目,我們選擇Enable Auto-Import,自動引用。這樣maven就會根據我們項目中的pom文件自動引入jar包以及相關依賴,我們可以通過編輯pom文件就可以輕鬆引用一些相關的包。

   

4、導入Spring Boot依賴,打開pom.xml文件,在<project>下輸入下面的代碼,導入Spring Boot的依賴。parent表示當前項目繼承了spring boot的項目,即使用了spring boot的架構。dependencies輸入後會爲項目自動下載項目所需要的spring boot web開發的一些基本依賴。

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

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    然後我們就可以看到,External Libraries下是自動下載的一些依賴,很多…儘管我們只寫了引入一個依賴,但是這個依賴還需要很多其他的jar包進行支持。

5、編寫主程序,用於啓動Spring Boot。在java目錄下新建一個類,類名爲HelloWorldMainApplication。如圖,我們輸入com.springboot.HelloWorldMainApplication,會在java目錄下新建一個目錄com.springboot,然後會把新建的類文件放到這個目錄下。新建後路徑也會貼圖在下方。

    添加註解@SpringBootApplication,註解@SpringBootApplication用於標註一個主程序類,來標註這是一個Spring Boot的應用,添加後的程序如下。添加註解輸入“@SBA”IDEA就會爲你自動找到對應註解,回車後就可自動添加對應包的引用,十分方便。

package com.springboot;

import org.springframework.boot.autoconfigure.SpringBootApplication;

/*
*註解@SpringBootApplication用於標註一個主程序類,來標註這是一個Spring Boot的應用
*/
@SpringBootApplication
public class HelloWorldMainApplication {
}

    編寫主程序,輸入快捷鍵“psvm”,即可。然後按照下面的代碼對內容進行填充,注意是SpringApplication而不是SpringBoot'Application。

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

6、編寫Controller或者Service,實現功能。在com.springboot文件夾下新建一個類並同時新建controller文件夾,輸入controller.HelloController。在類名前加上註解@Controller,表明這時一個Spring的Controller類,能夠處理請求。

     然後在類中定義一個返回值類型爲String的相應方法,方法名爲hello,返回“Hello World”。在方法前面加上兩個註解,@ResponseBody和@RequestMapping,分別表示這個方法是相應的內容和據網頁的什麼請求進行相應,這裏我們填寫的是根據網頁的hello請求進行相應。具體的完整代碼如下。

package com.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello(){
        return "Hello World";
    }
}

7、啓動項目。找到主程序HelloWorldMainApplication,運行main方法。有下面三種方法可供選擇:找到HelloWorldMainApplication類名點擊右側的綠色三角運行按鈕;在目錄下的HelloWorldMainApplication右鍵選擇run;在HelloWorldMainApplication文件內容的任意位置右鍵,選擇run。

   

啓動後的日誌如下,紅框位置表示程序已經由Spring Boot內置的Tomcat啓動,端口號爲8080。

在任意瀏覽器中輸入網址“http://localhost:8080/hello”,顯示內容如下

8、部署。在項目中導入spring boot的插件,方法是,在pom.xml中的</project>前粘貼下面代碼:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    使用IDEA建立項目的jar包,方法是,點擊IDEA左下角->點擊maven,召喚處IDEA中的maven界面。Lifecycle->package右鍵選擇Run Maven Build。

  

   在文件目錄下生成了一個target文件夾,下面有一個生成的jar包,使用的是“項目名稱-版本號”進行命名。這個jar包裏不僅包括我們剛剛編寫的代碼,還有通過pom文件自動下載的依賴。

 

    在文件夾中找到這個jar包的位置,在文件路徑位置輸入cmd,快速在此位置打開命令行,輸入“java -jar 文件名”,進行項目部署。注意文件名應該包括後綴。

    佈置成功的命令行界面如上,現在我們進行與啓動項目類似的操作,在瀏覽器中輸入http://localhost:8080/hello,顯示:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章