使用Spring Boot,Angular 6和Maven構建Web應用程式

2021-01-11 程式設計師的情話

使用Maven 組合Spring Boot和Angular可能是一項具有挑戰性的任務。在這篇文章中,我們將使用Spring Boot和Angular 6創建一個簡單的Web應用程式,並將它們打包在一個war文件中。

創建Maven項目

首先,創建一個包含兩個模塊的Maven項目:一個用於後端,另一個用於前端。

在我的示例中,有兩個Maven模塊 - tutorial-server(後端)和tutorial-web(前端) - 它們繼承自父模塊, tutorial-parent。

項目結構如下:

父POM的結構如下:

現在,為tutorial-server配置POM,如下所示:

請注意,我們已經為web模塊tutorial-web和Sprint Boot依賴項添加了依賴項。稍後我們將回到後端POM配置。

讓我們看一下tutorial-web模塊POM 的配置。

稍後我們會回到這個配置。

創建Spring Boot應用程式

在我的示例項目中,我手動創建了Spring Boot應用程式。您也可以使用Spring Spring Initializer創建。

Spring Boot應用程式的包結構如下:

讓我們看看HomeController類,因為它將返回一個視圖。

請注意,home方法接受一個模型並返回「index.html」,即視圖。

使用Angular CLI創建Angular6項目

如果尚未安裝angular-cli,請使用終端中的以下命令進行安裝。

npm install -g @angular/cli

使用tutorial-web / src / main / web目錄中的angular-cli生成Angular 6項目 。導航到終端中的tutorial-web / src / main目錄並運行以下命令:

ng new -skip-git -directory web np-app

在上面的命令中,我們正在跳過git存儲庫,因為我們沒有從根目錄運行命令。我們已經指定了輸出目錄作為 web 並給出了應用程式的名稱 np-app。

將以下配置添加到tutorial-web / pom.xml以通過Maven構建Angular 6項目。

請注意,我們使用front-maven-plugin來構建Angular 6項目。

我們在配置部分中指定了node和npm版本以及工作目錄。在第一個執行部分,我們告訴Maven安裝npm和node。這將安裝在項目中,這給了我們很多優勢。

在下一個執行部分中,我們告訴Maven運行' npm install'和' npm run build'命令。默認情況下,angular-cli會將文件寫入src \ main \ web \ dist目錄中。

配置後端Maven POM以包含Angular 6資源

編輯tutorial-server / pom.xml並添加以下插件部分:

在這裡,我們將資源從tutorial-web / src / main / web / dist / np-app複製到 tutorial-server / target / classes / resources目錄。這將確保在構建war文件時包含t utorial-app / WEB-INF / classes / resources。

運行應用程式

mvn clean install從項目根目錄運行 。這將在tutorial-server / target目錄中生成war文件 。它可以部署到Tomcat伺服器,並且可以查看應用程式。

要使用Maven運行Spring Boot應用程式,請從tutorial-server目錄運行以下命令 。

mvn spring-boot:run

應用程式啟動後,我們應該能夠查看歡迎頁面。

大家有什麼學習困難或疑惑的可以找我交流,想要更多JAVA系統學習方法及資料的私信獲取

相關焦點

  • Spring Boot 2.4 第一個示例程序書寫代碼
    為了完成我們的第一個 Spring Boot 示例程序,我們需要向已經創建的項目框架中創建一個 Java 文件。在默認情況下,Maven 會編譯 src/main/java 目錄中的原始碼(這個是與 Maven 使用的約定有關的,這個目錄結構可以修改,但是不建議修改,因為絕大部分人都會遵守這個約定)。根據 Maven 的原始碼約定,你需要按照下面的目錄路徑和文件名創建一個 Example.java 文件,完整的路徑如下: src/main/java/Example.java 。
  • Spring Boot Admin快速打造監控平臺
    Spring Boot Admin快速打造監控平臺 使用過Spring boot的開發者都知道actuator,它是Springboot提供的用來對應用系統進行自省和監控的功能模塊,藉助於Actuator開發者可以很方便地對應用系統某些監控指標進行查看、統計等。
  • 基於OSGi和Spring開發Web應用
    Spring 聲明文件:computeMultiply-context.xmlStep 2 :實現 Web LayerWeb 層只包含一個 bundle:com.zxn.example.web,採用 Spring-MVC 和 OSGi 構建,基本程序結構如下圖所示圖 11. Web Layer 程序結構
  • 使用Gitea+Drone來搭建自己的輕量級CI/CD自動構建平臺
    gitea的授權即可進入drone平臺,連帳戶和密碼都不用輸了2.1 Gitea創建OAuth2應用程式我們進入Gitea-->點擊右上角頭像-->設置-->應用-->管理OAuth2應用程式來創建一個OAuth2應用程式這裡的重定向URL是授權成功後跳轉到drone的地址,根據自己的drone地址來創建創建成功後就可以拿到客戶端
  • 教小師妹快速入門Maven,嘿嘿嘿……
    Maven的每一個動作都擁有一個生命周期,例如執行 mvn install 就可以自動執行編譯,測試,打包等構建過程只需要定義一個pom.xml,然後把源碼放到默認的目錄,Maven幫我們處理其他事情使用Maven可以進行項目高度自動化構建,依賴管理(這是使用Maven最大的好處),倉庫管理。面試問:Maven是什麼Maven(翻譯為"專家","內行")是跨平臺的項目管理工具。
  • Maven是什麼?它打包的三種方式?
    等等類似問題我們需要搞清楚,如果需要使用pom.xml來獲取jar包,那麼首先該項目就必須為maven項目,maven項目可以這樣去想,就是在java項目和web項目的上面包裹了一層maven,本質上java項目還是java項目,web項目還是web項目,但是包裹了maven之後,就可以使用maven提供的一些功能了。
  • Spring Boot 2.2.0 發布,性能提升、支持 Java 13
    Spring Boot 2.2.0 正式發布了,可從 repo.spring.io 或是 Maven Central 獲取。
  • Spring Boot自動裝配原理源碼分析
    011.環境準備使用IDEA Spring Initializr快速創建一個Spring Boot項目添加一個Controller類主配置類如下033.自動裝配的主角進入@EnableAutoConfiguration源碼你會發現這個註解中標註了兩個註解@AutoConfigurationPackage和@Import(1)、@AutoConfigurationPackage點進該註解
  • 基於Spring Boot + MVC 之控制器Controller實現
    在src-main-java下面,找到com.zzfeng.springbootdemo這個包,在這個包上面右擊,再分別點擊New-Package,進入創建包的面板。在New Package面板上輸入包名controller,完成包的創建。創建成功後,會在com.zzfeng.springbootdemo下面出現一個名叫controller的包。
  • 鳶尾花預測:如何創建機器學習Web應用程式?
    本文就將展示如何在Python庫中使用streamlit,用不到50行的代碼構建一個簡單的基於機器學習的數據科學web應用程式。數據科學生命周期鳶尾花預測應用程式概述我們將構建一個簡單的機器學習web應用程式,用於預測鳶尾花的類標籤,包括setosa、versicolor和virginica。
  • Spring 的 Controller 是單例還是多例?怎麼保證並發的安全
    我們下面來簡單的驗證下:package com.riemann.springbootdemo.controller;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller
  • Web前端和後端有什麼區別(下)
    此處提到的 css不包括css3,通常我們看到在 web前端開發工程師的需求中,會有一個 css+ html或 css+ div用於界面布局,所以 css是用來幫助 html進行布局和顯示的,我們稱之為「css+ div」,為什麼要說 css+ div?由於我在上面說過, div是 html中主要用來布局的,所以 div是最重要的。
  • Spring boot + Spring Security實現權限管理
    基於Spring boot + Spring Security實現第一版傳統架構本文是實訓邦的權限管理SpringSecurity+JWT的一個講義,分享給粉絲學習。使用SpringSecurity的HttpBasic模式實現登錄認證1.使用Spring Initializr快速構建項目具體步驟: 在Intellij IDEA中選擇 File -> New - > Project -> Spring
  • Spring Boot 1.3.0 M4 發布 - OSCHINA - 中文開源技術交流社區
    Spring Boot 1.3.0 M4 發布,該版本主要是修復一些 bug 和一些改進,更新內容如下:UpgradingNo special steps are required
  • Spring Boot 2.4 MacPorts 安裝 CLI
    但是 Spring Boot 的官方手冊中有些這方面的內容和介紹,因此我們也在這裡對這部分的內容進行了一些說明。Spring 工具被用來初始化 Spring 項目和一些其他的工作,但 Spring 是基於 Java 的,因此很多東西需要自己配置環境。其實自己配置環境比使用環境配置工具要好一些,能夠讓你了解有關運行的參數和配置。
  • Java經典面試題Spring是什麼 Spring框架入門詳解
    注意構造函數有幾個參數這裡就要傳入幾個參數,如果你只創建了一個三個參數的構造方法,那你傳2個參數就報錯,沒傳參也報錯,所以必須創建所有參數的構造方法才能讓程序穩定運行,這種注入方式讓人很有負擔。除了構造外,spring還支持p名稱空間注入和spel表達式注入,spel基於set方法和構造方法注入的,所以我們通過圖中的注入方式足矣,也是主流的注入方式。
  • Rocket-API 2.3.2 發布,基於 spring boot 的 API 敏捷開發框架
    功能新增或修改: 遠程部署重複判斷 添加mongo對象操作函數 mapping路徑匹配修改,解決restful下路徑可能會匹配執行邏輯錯誤問題 增加配置項 駝峰轉換配置 spring.rocket-api.map-underscore-to-camel-case