一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 利用Maven入手Spring Boot第一個程序詳解

利用Maven入手Spring Boot第一個程序詳解

2021-04-06 13:14hsm_computer Java教程

這篇文章主要給大家介紹了關于如何利用Maven入手Spring Boot第一個程序的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

前言

學習一個新技術,先別管他的原理啊,流程啊,怎么組織代碼啊什么的。直接從官網或者博客抄一個小demo,自己親自跑一遍,然后再去看那一堆讓人頭皮發麻的講解,就能相對容易的看懂了。

目前網上有不少spring boot的入門文章,都很有幫助,本人最近在深入學習spring cloud,在搭建第一個hello world程序時,感覺對于新手而言,介紹文章怎么詳細都不為過,因為其中坑不少,所以這里就把第一次實踐的步驟貼出來,以求和大家一起進步。

1、maven是什么?能帶來什么幫助?

    我們在用eclipse開發項目時,一定會引入支持特定功能的jar包,比如從下圖里,我們能看到這個項目需要引入支持mysql的jar包。

利用Maven入手Spring Boot第一個程序詳解

從上圖里我們能看到,支持mysql的jar包是放在本地路徑里,這樣如果在本地運行自然是沒問題了。但如果我們要把這個項目發布到服務器上,就會有問題了,因為在這個項目的.classpath文件,已經指定mysql的jar包在本地d盤下的某個路徑,如下圖所示。

利用Maven入手Spring Boot第一個程序詳解

一旦發布到服務器上,項目依然會根據.classpath的配置,從d盤下這個路徑去找,事實上服務器上是不可能有這樣的路徑和jar包的。

我們也可以通過在.classpath里指定相對路徑來解決這個問題,在下面的代碼里,我們可以指定本項目將引入“本項目路徑/webroot/lib“目錄里的jar包。

?
1
<classpathentry kind="lib" path="webroot/lib/jar包名.jar"/>

這樣做,發布到服務器時,由于會把整個項目路徑里的文件都上傳,所以不會出錯。但這樣依然會給我們帶來不便。比如這個服務器上我們部署了5個項目,它們都會用到這個mysql支持包,這樣我們就不得不把這個jar包上傳5次,再擴展一下,如果5個項目里會用到20個相同的jar包,那么我們還真就不得不做多次復制。如果我們要升級其中的一個jar包,那么還真就得做很多重復的復制粘貼動作。

期望中的工作模式應該是,應該有個“倉庫“同一放置所有的jar包,在開發項目時,可以通過配置文件引入必要的包,而不是把包復制到本項目里。這就是maven的做法。

用通俗的話來講,maven是套eclipse的插件,它的核心價值是能理順項目間的依賴關系,具體來講,能通過其中的pom.xml配置文件來統一管理本項目所要用到的jar包,在項目里引入maven插件后,開發者就不必手動添加jar包了,這樣也能避免因此來帶來的一系列問題。

2、通過maven開發spring boot的helloworld程序

第一步,創建maven項目。本書使用myeclipse作為開發環境,在其中已經引入了maven插件,所以我們可以通過“file”->”new”菜單,如下圖所示,直接創建maven項目。

利用Maven入手Spring Boot第一個程序詳解

在上圖里,點擊“next”按鈕后,會見到如下圖所示的界面,在其中我們可以設置group id等屬性。

利用Maven入手Spring Boot第一個程序詳解   

其中,group id代表公司名,這里設置成“com.springboot”,而artifact id則是項目名,version和packag采用默認值。完成設置后,能看到新建的項目myfirstspringboot

第二步,改寫pom.xml。當我們創建好maven項目后,能看到pom.xml文件。在maven項目里,一般是通過pom.xml來指定本項目的基本信息以及需要引入的jar包,這里的關鍵代碼如下。  

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<groupid>com.springboot</groupid>
 <artifactid>myfirstspringboot</artifactid>
 <version>0.0.1-snapshot</version>
 <packaging>jar</packaging>
 <name>myfirstspringboot</name>
 <url>http://maven.apache.org</url>
 <dependencies>
 <dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-web</artifactid>
  <version>1.5.4.release</version>
 </dependency>
 <dependency>
  <groupid>junit</groupid>
  <artifactid>junit</artifactid>
  <version>3.8.1</version>
  <scope>test</scope>
 </dependency>
 </dependencies>

其中,第1到第4行的代碼是自動生成的,用來指定本項目的基本信息,這和我們在之前創建maven項目時所填的信息是一致的。

從第7到第19行的dependencies屬性里,我們可以指定本項目所用到的jar包,這里在第8和第13行分別通過兩個dependency來指定該引入兩類jar包。其中從第8到12行,指定了需要引入用以開發spring boot項目的名為spring-boot-starter-web的jar的集合,而在第13到18行,指定了需要引入用以單元測試的junit包。

從中上述代碼里,我們能見到通過maven管理項目依賴文件的一般方式,比如在下面的代碼片段里,是通過第2到第4行的代碼,說明需要引入org.springframework.boot這個公司組織(發布spring boot jar包的組織)發布的名為spring-boot-starter-web的一套支持spring boot的jar包,而且通過第4行指定了引入包的版本號是1.5.4.release。

這樣一來,在本項目里,我們就無需在本地在手動地添加jar包,這些包事實上是在遠端的倉庫里,我們這個項目是通過pom.xml的配置,來指定需要引入這些包。

第三步,改寫app.java。

在創建maven項目時,我們指定的package是com.springboot.myfirstspringboot,在其中會有個app.java,我們把這個文件改寫成如下的樣式。   

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.springboot.myfirstspringboot;
 import org.springframework.boot.springapplication;
 import org.springframework.boot.autoconfigure.springbootapplication;
 import org.springframework.web.bind.annotation.requestmapping;
 import org.springframework.web.bind.annotation.restcontroller;
 
 @restcontroller
 @springbootapplication
 public class app {
 @requestmapping("/helloworld")
 public string sayhello() {
  return "hello world!";
 }
 public static void main(string[] args) {
  springapplication.run(app.class, args);
 }
 }

由于是第一次使用maven,我們在這里再強調一次,雖然我們沒有在項目里手動地引入jar,但由于在pom.xml里指定了待引入的依賴包,具體而言需要依賴org.springframework.boot組織所提供的spring-boot-starter-web,所以在代碼的第2到第5行里,我們可以通過import語句,使用spring-boot-starter-web(也就是spring boot)的類庫。

在第8行里,我們引入了@springbootapplication注解,以此聲明該類是個spring boot的應用。在第10到第13行里,我們通過@requestmapping,指定了用于處理/helloworld請求的sayhello方法,在第14行的main函數里,我們通過第15行的代碼啟動了web服務。

至此我們完成了代碼編寫工作。啟動myfirstspringboot項目里的app.java,在瀏覽器里輸入http://localhost:8080/helloworld。由于/helloworld請求能被第11到13行的sayhello方法的@requestmapping對應上,所以會通過sayhello方法輸出hello world!的內容,如下圖所示。

利用Maven入手Spring Boot第一個程序詳解   

從這個程序里我們能體會到開發spring boot和傳統spring程序的不同。

第一,在之前的spring mvc框架里,我們不得不在web.xml定義采用spring的監聽器,而且為了采用@controller控制器類,我們還得加上一大堆配置,但在spring boot里,我們只需要添加一個@springbootapplication注解。

第二,我們往往需要把傳統的spring mvc項目發布到諸如tomcat的web服務器上,啟動web服務器后我們才能在瀏覽器里輸入請求查看運行的效果,這里我們只需啟動app.java這個類即可達到類似的效果,就可以省去部署到web服務器上的步驟。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://www.cnblogs.com/JavaArchitect/p/8468934.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本在线观看www鲁啊鲁视频 | 日本三级做a全过程在线观看 | 国产精品原创巨作无遮挡 | 日本人泡妞xxxxxx69 | 国产午夜精品一区二区三区 | 免费99精品国产自在现线 | 99在线观看视频免费精品9 | 美女福利视频网站 | 91欧洲在线视精品在亚洲 | 亚洲欧美综合在线观看 | 九九精品视频一区二区三区 | 美女漫画网| gay 男同志被捆绑茎 | 草草视频在线观看最新 | 出a级黑粗大硬长爽猛视频 吃胸膜奶视频456 | 美女被爆操 | 亚洲精品一二三四区 | 日韩精品免费看 | 好男人资源在线观看免费的 | 国产欧美日韩专区毛茸茸 | 精品手机在线1卡二卡3卡四卡 | 日本高清免费观看 | 欧美一二 | 操大爷影院 | 日本亚洲欧洲高清有码在线播放 | 男人和女人日 | porno18老师hd| 免费观看无人区完整版 | 美女脱了内裤让男生尿囗 | 女女宿舍互慰h文小说 | 青青青手机在线视频 | 护士让我吃奶我扒她奶 | 国产黑丝一区 | 调教校花浣肠开菊 | 香港三级血恋3 | 亚洲精品有码在线观看 | 欧美视频一区二区三区四区 | t66y地址一地址二地址三 | 精品国产在线观看 | 国产成人免费观看在线视频 | 亚洲精品第一国产综合 |