欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot與Angular2的集成示例

 更新時(shí)間:2018年03月01日 10:38:58   作者:luodongseu  
本篇文章主要介紹了SpringBoot與Angular2的集成示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

背景

以springboot為tomcat啟動(dòng)的框架,以angular2為前端頁(yè)面的框架,最后需要將angular2的代碼運(yùn)行在springboot內(nèi)置tomcat中。

項(xiàng)目結(jié)構(gòu)

src/main/
--------angular
--------java
--------resources
pom.xml

angular目錄是用的angular cli創(chuàng)建的新項(xiàng)目,java中是springboot的啟動(dòng)代碼,resources目錄下只有application.yml配置文件

集成思路

由于springboot的工程中要加入靜態(tài)html文件等需要放在resources下面的static目錄下,然后直接通過(guò)localhost:8080/index.html即可訪問(wèn)static目錄下的index.html文件。所以我們需要將angular的編譯代碼放在該static目錄中。

于是,集成的步驟:

  1. 編譯angular的項(xiàng)目,使用npm run release命令即可,編譯后的代碼在angular/dist目錄中
  2. 復(fù)制angular/dist目錄中的所有文件到resources/dist目錄下(是springboot編譯后的jar包目錄),或者將angular/dist目錄作為resource資源

我們可以通過(guò)maven的一些插件來(lái)完成,這里將用到exec-maven-plugin插件(用于執(zhí)行命令)。

pom.xml中的build

在項(xiàng)目的pom.xml文件中,我們需要添加build配置:

  1. 將/src/main/angular/dist目錄作為resource目錄
  2. build的時(shí)候執(zhí)行npm run release命令
 <build>
  <resources>
   <resource>
    <directory>src/main/resources</directory>
   </resource>
   <resource>
    <directory>${project.basedir}/src/main/angular/dist</directory>
    <targetPath>static</targetPath>
   </resource>
  </resources>
  <plugins>
   <!-- Plugin to execute command "npm install" and "npm run build" inside /angular directory -->
   <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.6.0</version>
    <executions>
     <execution>
      <phase>generate-sources</phase>
      <goals>
       <goal>exec</goal>
      </goals>
     </execution>
    </executions>
    <configuration>
     <executable>npm</executable>
     <workingDirectory>src/main/angular</workingDirectory>
     <arguments>
      <argument>run</argument>
      <argument>release</argument>
     </arguments>
    </configuration>
   </plugin>
  </plugins>
 </build>

然后執(zhí)行mvn clean package后,在target/classes目錄下的就會(huì)看到static目錄以及angular/dist目錄中的所有文件。最終生成的jar包中也會(huì)包含這些內(nèi)容。

本地啟動(dòng)項(xiàng)目測(cè)試

如果繼續(xù)使用sptringboot的啟動(dòng)方式Application.main函數(shù)運(yùn)行,由于resources中并沒(méi)有angular/dist的代碼,則不會(huì)正確看到頁(yè)面。解決辦法就是使用另一個(gè)maven插件:spring-boot-maven-plugin,專門用于springboot的maven命令。

在pom.xml中的build>plugins中加入以下代碼即可:

   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>1.5.9.RELEASE</version>
    <executions>
     <execution>
      <goals>
       <goal>repackage</goal>
      </goals>
     </execution>
    </executions>
   </plugin>

然后執(zhí)行maven的run命令: mvn clean spring-boot:run即可啟動(dòng)該項(xiàng)目,并且會(huì)加載angular的編譯文件。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java設(shè)計(jì)模式初識(shí)之備忘錄模式詳解

    Java設(shè)計(jì)模式初識(shí)之備忘錄模式詳解

    備忘錄設(shè)計(jì)模式(Memento Design Pattern)也叫作快照(Snapshot)模式,主要用于實(shí)現(xiàn)防丟失、撤銷、恢復(fù)等功能。本文將通過(guò)示例為大家介紹一些備忘錄模式的定義與使用,需要的可以參考一下
    2022-11-11
  • 通過(guò)Session案例分析一次性驗(yàn)證碼登錄

    通過(guò)Session案例分析一次性驗(yàn)證碼登錄

    這篇文章主要介紹了通過(guò)Session案例分析一次性驗(yàn)證碼登錄,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • SpringBoot中的WebSocketSession原理詳解

    SpringBoot中的WebSocketSession原理詳解

    這篇文章主要介紹了SpringBoot中的WebSocketSession原理詳解,傳統(tǒng)的?HTTP?協(xié)議是無(wú)法支持實(shí)時(shí)通信的,因?yàn)樗且环N無(wú)狀態(tài)協(xié)議,每次請(qǐng)求都是獨(dú)立的,無(wú)法保持連接。為了解決這個(gè)問(wèn)題,WebSocket?協(xié)議被引入,需要的朋友可以參考下
    2023-07-07
  • 如何將Java與C#時(shí)間進(jìn)行互相轉(zhuǎn)換

    如何將Java與C#時(shí)間進(jìn)行互相轉(zhuǎn)換

    這篇文章主要介紹了Java與C#時(shí)間互轉(zhuǎn)的方法以及JAVA日期、C#日期計(jì)算說(shuō)明,需要的朋友可以參考下
    2022-11-11
  • Java實(shí)現(xiàn)簡(jiǎn)單的聊天室功能

    Java實(shí)現(xiàn)簡(jiǎn)單的聊天室功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java的Hibernate框架數(shù)據(jù)庫(kù)操作中鎖的使用和查詢類型

    Java的Hibernate框架數(shù)據(jù)庫(kù)操作中鎖的使用和查詢類型

    這篇文章主要介紹了Java的Hibernate框架數(shù)據(jù)庫(kù)操作中鎖的使用和查詢類型,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2016-01-01
  • 在Java與Kotlin之間如何進(jìn)行互操作詳解

    在Java與Kotlin之間如何進(jìn)行互操作詳解

    這篇文章主要給大家介紹了關(guān)于在Java和Kotlin之間如何進(jìn)行互操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • window版 IntelliJ IDEA 快捷鍵圖文教程

    window版 IntelliJ IDEA 快捷鍵圖文教程

    本文通過(guò)圖文并茂的形式給大家介紹了window版 IntelliJ IDEA 快捷鍵的操作方法,需要的朋友參考下吧
    2018-02-02
  • java常見的字符串操作和日期操作匯總

    java常見的字符串操作和日期操作匯總

    本文主要對(duì)java 常見的字符串操作和日期操作進(jìn)行整理。具有一定的參考價(jià)值,需要的朋友一起來(lái)看下吧
    2016-12-12
  • GraalVm的反射配置輔助工具agentlib配置及使用

    GraalVm的反射配置輔助工具agentlib配置及使用

    這篇文章主要為大家介紹了GraalVm的反射配置輔助工具agentlib的配置文件及使用說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02

最新評(píng)論