SpringBoot起飛系列-入門(一)

1、SpringBoot簡介java

1.1 什麼是SpringBootweb

說到spring系列,可能你們都很熟悉,spring、springmvc,美之名曰:spring全家桶,那麼springboot其實也是全家桶裏邊的,boot有引導,引擎的意思,springboot其實就能夠看做是一個引導驅動同樣,爲了可以讓咱們順利的建立spring應用而引進的一個框架,它能夠作到讓咱們零配置的去啓動一個應用,springboot其實也是一組jar包,引入這些jar以後,而後就能夠幫你自動構建項目而且發佈、運行項目。
spring

其實springboot只是爲了默認配置了不少東西,它內部幫咱們管理整合了不少開發框架的使用方式,試想咱們以前開發一個spring應用,要在xml中配置不少東西,啓動部署時,還要有tomcat環境,還有什麼日誌配置的,反正都是各類配置,這種配置幾乎都是前篇一概,繁瑣不堪,咱們就急需把這些配置省略掉,由於都是固定模式的東西,springboot就這樣來了,簡化了甚至能夠說去除了咱們全部的配置,(其實內部本身用約定大於配置的方式幫咱們配置了),真正的一鍵搭建,一鍵運行,可能你用了springboot以後,就再也見不到xml文件了。apache

稍微總結一下:tomcat

springboot是一組jar包,咱們稱它爲springboot框架,它大大簡化了咱們開發spring應用的過程。springboot

2、SpringBoot上手使用服務器

前邊咱們已經說到,springboot其實就是一組jar包,spring-boot-*.jar,因此咱們徹底能夠像使用傳統jar包那樣使用springboot,springboot不依賴任何建立工具,甚至只需一個記事本就能夠開發咱們的程序,不過springboot的jar包,依賴就有不少了,這樣的話咱們一個一個引入也是不行的,因此這裏咱們要使用maven工具來幫助咱們管理包的依賴,其它的就不須要了。mvc

檢查maven環境和jdk環境,這兩點就不說了,基本是開發必須的:app

2.1 建立項目結構框架

根據本身習慣建立一個目錄,個人目錄以下,目前是空目錄:

這裏我先用VSCode來編輯項目中的一些文件,用VSCode打開這個目錄,並添加一個名稱爲pom.xml的文件,複製以下內容:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 4     <modelVersion>4.0.0</modelVersion>
 5     <groupId>com.springbootstudy</groupId>
 6     <artifactId>springboot-helloworld</artifactId>
 7     <version>0.0.1-SNAPSHOT</version>
 8     <parent>
 9         <groupId>org.springframework.boot</groupId>
10         <artifactId>spring-boot-starter-parent</artifactId>
11         <version>1.4.0.RELEASE</version>
12     </parent>
13 </project>

其中關鍵代碼,來引入springboot的jar包,這是springboot啓動所須要的最基本的jar包,若是用idea工具的話,能夠點進去看到依賴不少的jar包。

1     <parent>
2         <groupId>org.springframework.boot</groupId>
3         <artifactId>spring-boot-starter-parent</artifactId>
4         <version>1.4.0.RELEASE</version>
5     </parent>

2.2 執行mvn命令

在當前springboot-helloworld命令下執行mvn package 命令,maven會根據pom.xml中的配置去解析下載還原包,到此爲止,springboot所須要的基礎包及其依賴已經還原好了,其實這一步能夠再咱們寫完代碼以後作,這裏只是看一下maven的效果,說明沒什麼問題。

2.3 添加web啓動器

到目前爲止,咱們尚未說明springboot要構建的是什麼樣的一個項目,這裏咱們添加一個web啓動器,也就是 spring-boot-starter-web 包,說明了咱們是要構建一個web應用。

1 <dependencies>
2     <dependency>
3         <groupId>org.springframework.boot</groupId>
4         <artifactId>spring-boot-starter-web</artifactId>
5     </dependency>
6 </dependencies>

其實這個包夜依賴了不少包,好比:spring-webmvc、spring-web、tomcat什麼的, 只是咱們這裏看不到,這種依賴也是springboot提早爲咱們構建好的。如今pom.xml的結構以下:

2.4 編寫代碼

maven默認有約定,源代碼須要在src/main/java下,因此咱們須要手動創建這樣一個目錄,而後添加一個HelloWorld.java的文件。

 1 import org.springframework.boot.*;  2 import org.springframework.boot.autoconfigure.*;  3 import org.springframework.stereotype.*;  4 import org.springframework.web.bind.annotation.*;  5 @RestController  6 @EnableAutoConfiguration  7 public class HelloWorld {  8     @RequestMapping("/")  9  String home() { 10         return "Hello World!"; 11  } 12     public static void main(String[] args) throws Exception { 13         SpringApplication.run(HelloWorld.class, args); 14  } 15 }

在springboot-helloworld目錄下打開cmd,運行 mvn spring-boot:run,來啓動咱們的web應用,啓動成功,會有springboot的banner輸出:

訪問http://localhost:8080,出現Hello World,到如今爲止,就這幾個步驟咱們就啓動了咱們的web應用,沒有出現tomcat,沒有出現部署,接下來咱們繼續寫咱們的業務邏輯代碼就能夠了。

2.5 打包部署

畢竟最後咱們仍是要在生產環境上運行咱們的web應用,這樣啓動可不行,咱們須要安裝打包插件,插件會自動把咱們項目打包成一個可執行的jar包,那麼咱們經過java -jar直接執行就能夠了,也不用在服務器上安裝tomcat什麼的。

安裝插件,在pom.xml中添加插件依賴:

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

執行 mvn package 命令打包,在target目錄裏邊會出現一個springboot-helloworld-0.0.1-SNAPSHOT.jar的文件

咱們注意到這個文件很大,難不成我寫一個helloworld就這麼大,其實裏邊有不少依賴包,都打在一塊兒了,這樣咱們只要拿着這個一個包到哪裏都能運行咱們的web項目,服務器能夠不裝tomcat就能啓動,咱們也能夠猜到裏邊確定內置了tomcat,固然須要安裝java運行環境。(廢話...)

咱們用360壓縮打開,能夠看到裏邊咱們熟悉的包依賴:

接着咱們把上邊那個jar直接複製到桌面上改一個名字,而後直接運行命令 java -jar springboot-helloworld.jar

輸出以下,而後訪問http://localhost:8080/,出現Hello World的輸出,以前同樣。

3、總結

以上就是springboot的最原始的搭建方式,看起來很是的簡單,咱們基本上沒有什麼配置文件,能夠說是零配置,咱們直接寫的代碼,固然springboot這樣的框架也是入門容易精通難,由於裏邊的東西還有不少不少,接下來的東西咱們之後繼續學習,總結springboot帶給咱們了一種飛通常的開發體驗,因此咱們就立刻要起飛了。

相關文章
相關標籤/搜索