用 JHipster Azure Spring Apps 构建和部署 Spring 应用

news2025/1/14 20:43:51

作者:Hang Wang
排版:Alan Wang

此教程将向您展示如何使用 React、Spring Boot 和 PostgreSQL 在 Azure 上构建和部署全栈 Web 应用程序,由 JHipster Azure Spring Apps 提供支持。

JHipster Azure Spring Apps 为全栈 Web 开发提供了全面的解决方案,涵盖了前端、后端、数据库和云部署。它优先考虑简单性,通过 JHipster Online 提供了一键式项目创建。JHipster 拥有每月超过100,000个用户,是领先的代码生成器,培养了一个充满活力的开发者社区。
在这里插入图片描述

什么是 JHipster Azure Spring Apps?

从2013年作为 Yeoman 应用程序生成器启动,JHipster 已经发展成为一个全面的开发平台,促进了现代 Web 应用程序和微服务架构的代码生成、开发和部署。

Azure Spring Apps 是一项为 Spring 开发人员提供的全面托管服务。专注于应用程序,无需复杂的基础设施管理。通过全面的监控和诊断、配置管理、服务发现、持续集成、持续交付(CI/CD)和蓝绿部署,管理所有 Spring 应用程序的生命周期。

通过 JHipster 和 Azure Spring Apps 团队的合作,Jhipster Azure Spring Apps 旨在简化全栈 Spring 应用程序开发,利用 Azure Spring Apps 坚固的基础设施,以前所未有的轻松和效率将您的项目带上轨道。

为什么选择 JHipster Azure Spring Apps?

全栈端到端集成

在当前的情况下,脚手架工具主要专注于 Spring 项目。然而,大多数 Spring 开发人员从事更复杂的全栈 Web 应用程序开发,涵盖前端、后端、数据库和云部署。JHipster Azure Spring Apps 在这个领域中独树一帜,提供了一个全面的解决方案,满足了所有这些方面的需求,从而促进了真正集成的端到端开发体验。

一键式简化

我们理解开发工作流程中简单性的价值。这就是为什么 JHipster Azure Spring Apps 有两种方式:Jhipster CLI 和 JHipster Online。选择 JHipster Online,可以仅需一次点击即可构建项目,无需在您的计算机上安装 JHipster。我们致力于使过程尽可能简单,让您可以专注于最重要的事情。

庞大的社区

当您选择 JHipster 时,您不仅仅是采用了一个工具,还加入了每月超过100,000名用户的社区,使其成为 Yeoman 上最受欢迎的代码生成器。这个充满活力的生态系统是知识、专业知识和合作精神的中心,您可以在这里学习、分享和与同样热衷和专家的伙伴一起成长。

开始使用 JHipster Azure Spring Apps

要开始您的旅程,我们已经准备了一步一步的示例,您可以在我们的 Git 存储库上找到。在这里,我们概述了一个简单的指南,以帮助您入门:

先决条件

  • Java 17或更高版本 - 用于 API 后端
  • Node.js 与 npm(16.13.1+) - 用于 Web 前端
  • Maven - 用于本地构建
  • Azure 订阅:
    • 免费试用 Azure,您可以从200美元的 Azure 信用额度开始。
    • 为了帮助您入门,Azure Spring Apps 每个计划都有每月的免费赠品 - 50个 vCPU 小时和100GB 内存小时。
  • Azure Developer CLI 1.3.0 或更高版本
  • 确保已分配 JAVA_HOME:
    在这里插入图片描述

构建本地项目

Jhipster Azure Spring Apps 提供了两种构建本地项目的方式:Jhipster CLI 和 Jhipster Online。

选项1:Jhipster Azure Spring Apps CLI

要使用 Jhipster Azure Spring Apps CLI,您需要:

  1. 使用以下命令安装包
npm install -g generator-jhipster-azure-spring-apps
  1. 创建并导航到一个目录
  2. 使用以下命令生成应用程序
jhipster-azure-spring-apps createtodoapp

完成第3步后,您将能够看到 CLI 界面:
在这里插入图片描述
JHipster Azure Spring Apps 将提示您选择要创建的应用程序类型和要包含的技术:
在本教程中,我选择了所有默认答案,只需点击 Enter,JHipster Azure Spring Apps 将在当前目录中创建您的应用程序。
在这里插入图片描述

选项2:JHipster Online

如果选择使用 JHipster Online,整个过程将非常简单,只需一次点击,如果选择所有默认值:点击“下载为 Zip 文件”按钮:
在这里插入图片描述
这是您刚刚创建的项目的图表,它是一个具有以下层的典型三层 Web 应用程序:

  • 前端 React 应用程序
  • 后端 Spring Web 应用程序,使用 Spring Data JPA 访问关系数据库。
  • 关系数据库。对于本地主机,应用程序使用 H2数据库引擎。对于 Azure Spring Apps,应用程序使用 Azure Database for PostgreSQL。有关 Azure Database for PostgreSQL 的更多信息,请参阅 Flexible Server 文档。

您可以在我们的网站上查看项目的更多细节:
在这里插入图片描述
要在本地运行项目:
使用以下命令:

mvn clean package -DskipTests 
java -jar web/target/${artifact-name}-web-0.0.1-SNAPSHOT.jar 

您还可以使用 Maven Wrapper:
使用以下命令:

chmod +x mvnw 
mvnw clean package -DskipTests
 ./mvnw spring-boot:run -f web/pom.xml 部署到Azure

部署到 Azure

借助 Azure 开发者 CLI (azd)的强大功能,JHipster Azure Spring Apps 确保了一个顺畅且简单的部署过程,仅需两个步骤:

  1. 登录到 azd。每次安装只需要一次。
azd auth login 

如果你使用 Windows,请安装 PowerShell。
2. 导航到生成的项目目录并运行以下命令:

azd up 

完成第2步后,你需要回答以下提示问题:

  • 环境名称:<自定义名称>
  • Azure 订阅:你需要一个有效的 Azure 订阅。你可以尝试免费试用 Azure。而且,Azure Spring Apps 上的前50个 vCPU 小时和前100GB 内存小时每个月都是免费的。
  • 区域:有多个区域可供选择,在本教程中,我选择了“EAST US”。

你将能够监视部署进度。
在这里插入图片描述
万岁!部署完成,你可以直接点击链接查看你的应用程序和 Azure 上的资源。
在这里插入图片描述
在这里插入图片描述

加入这场革命

随着我们为正式发布做准备,我们邀请你成为首批体验 JHipster Azure Spring Apps 潜力的人之一。你的反馈对我们来说非常宝贵,我们鼓励你在探索 Spring Boot 应用程序开发的这个新领域时分享你的经验和见解。

加入这场革命,重新定义 JHipster Azure Spring Apps 所能实现的可能性。敬请关注更多的更新。
在这里插入图片描述
在这里插入图片描述

Additional Resources

  • Learn using an MS Learn module or self-paced workshop on GitHub.
  • Deploy your first Spring app to Azure!
  • Deploy the demo Fitness Store Spring Boot app to Azure.
  • Deploy the demo Animal Rescue Spring Boot app to Azure.
  • Learn more about implementing solutions on Azure Spring Apps.
  • Deploy Spring Boot apps by leveraging enterprise best practices – Azure Spring Apps Reference Architecture.
  • Migrate your Spring Boot, Spring Cloud, and Tomcat applications to Azure Spring Apps.
  • Wire Spring applications to interact with Azure services.
  • For feedback and questions, please raise your issues on our GitHub.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1108411.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单链表的相关操作(初阶--寥寥万字不成敬意)

目录 链表的概念 链表的相关操作&#xff1a; 链表的创建&#xff1a; 打印链表&#xff1a; 申请新节点&#xff1a; 链表的尾插&#xff1a; &#xff01;&#xff01;&#xff01;对于传参中二级指针的解释&#xff1a; 链表的头插&#xff1a; 链表的尾删&#xff…

常用JS加密/解密类型以及案例

简介 这里给大家汇总常用不常用的JS加密案例&#xff0c;免得大家用的时候到处去找例子。 正题 对称加密&#xff1a; 替代字符表示法&#xff1a;使用Base64或类似的编码对数据进行简单的转换&#xff0c;不过这并不是真正的加密&#xff0c;而只是一种表示形式的转换。 &l…

uni-app--》基于小程序开发的电商平台项目实战(七)完结篇

&#x1f3cd;️作者简介&#xff1a;大家好&#xff0c;我是亦世凡华、渴望知识储备自己的一名在校大学生 &#x1f6f5;个人主页&#xff1a;亦世凡华、 &#x1f6fa;系列专栏&#xff1a;uni-app &#x1f6b2;座右铭&#xff1a;人生亦可燃烧&#xff0c;亦可腐败&#xf…

OSG粒子系统特效-----雨雪、爆炸、烟雾

1、烟雾效果 飞机坠毁 陨石坠落 源码&#xff1a; // CMyOSGParticle.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <windows.h> #include <osgViewer/Viewer>#include <osg/Node> #inc…

动态规划:从入门到入土系列(二)

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 前言 一、…

AI AIgents时代-(五.)Autogen

由微软开发的 Autogen 是一个新的 Agents 项目&#xff0c;刚一上线就登上GitHub热榜&#xff0c;狂揽11k星✨✨✨ 项目地址&#xff1a;https://github.com/microsoft/autogen Autogen 允许你根据需要创建任意数量的Agents&#xff0c;并让它们协同工作以执行任务。它的独特之…

LeetCode算法栈—有效的括号

目录 有效的括号 用到的数据结构&#xff1a; 位运算、Map 和 Stack Stack 常用的函数&#xff1a; 题解&#xff1a; 代码&#xff1a; 运行结果; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符…

SpringBoot2.x简单集成Flowable

环境和版本 window10 java1.8 mysql8 flowable6 springboot 2.7.6 配置 使用IDEA创建一个SpringBoot项目 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.…

GitHub下载太慢的解决方案

修改hosts文件&#xff1a; windows的hosts文件在 C:\Windows\System32\drivers\etc\hosts cmd管理员运行命令notepad C:\Windows\System32\drivers\etc\hosts 然后cmd命令重启网络ipconfig /flushdns windows修改hosts Ubuntu22.04修改hosts sudo vim /etc/hosts # This fil…

RK3288 Android11 mini-pcie接口 4G模组EC200A适配(含自适应功能)

这里写目录标题 1、修改驱动内核配置①使能USBNET功能②使能 USB 串口 GSM、CDMA 驱动③使能 USB 的 CDC ACM模式④使能PPP功能 2、使用lsusb命令查看是否识别到usb接口的“EC200A”4G模组3、在drivers/usb/serial/option.c添加VID和PID信息①添加VID和PID定义②在option_ids 数…

找寻openSUSE的前世今生

找寻开始的地方 在一些资产管理平台、网管系统&#xff0c;完全依赖资产录入资产&#xff0c;假如存在SUSE类型网元&#xff0c;能否将SLES和openSUSE一同接入到SUSE类型下&#xff0c;就有待商榷了。 SLES和openSUSE是两个不同的Linux发行版&#xff0c;更准确说是两个不同的…

基于PHP的蛋糕甜品商店管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

python读写.pptx文件

1、读取PPT import pptx pptpptx.Presentation(rC:\Users\user\Documents\\2.pptx) # ppt.save(rC:\Users\user\Documents\\1.pptx) # slideppt.slides.add_slide(ppt.slide_layouts[1])# 读取所有幻灯片上的文字 for slide in ppt.slides:for shape in slide.shapes:if shape…

[尚硅谷React笔记]——第4章 React ajax

目录&#xff1a; 脚手架配置代理_方法一 server1.js开启服务器server1:App.js解决跨域问题&#xff1a;脚手架配置代理_方法二 ​​​​​​​server2.js开启服务器server2第一步&#xff1a;创建代理配置文件编写setupProxy.js配置具体代理规则&#xff1a;App.js运行结果&a…

js实现红包雨功能(canvas,react,ts),包括图片不规则旋转、大小、转速、掉落速度控制、屏幕最大红包数量控制等功能

介绍 本文功能由canvas实现红包雨功能&#xff08;index.tsx&#xff09;本文为react的ts版。如有其他版本需求可评论区观赏地址&#xff0c;需过墙 import React, { Component } from react; // import ./index.css; import moneyx from /assets/images/RedEnvelopeRain/bal…

SEO业务适合什么代理IP?2023海外代理IP推荐排名

随着数字营销趋势的变化&#xff0c;搜索引擎优化仍然是企业在网络世界中努力繁荣的重要组成部分。为了实现 SEO 成功&#xff0c;从搜索引擎获取准确且多样化的数据至关重要&#xff0c;然而可能会受到诸如基于位置的限制和被检测风险等限制的阻碍&#xff0c;IP代理则可以帮助…

百度开源分布式id生成器集成--真香警告

百度开源分布式id生成器集成–真香警告 文章目录 [toc] 1.为什么需要分布式id生成器&#xff1f;2.常见id生成方案2.1 数据库表主键自增2.2 uuid2.3 雪花算法2.3.1 实现代码2.3.2 缺点的解决方案百度开源的分布式唯一ID生成器UidGenerator(本文重点讲解这个)Leaf--美团点评分布…

gnome-terminal禁止关闭确认

当你想要关闭一个终端时&#xff0c;弹出“确认关闭&#xff1f;”多少有些烦。 比如当前为root下&#xff0c;要么一路exit&#xff0c;要么就点击确认&#xff1a; 解决方法&#xff1a; 安装一个配置编辑器来帮我们方便地编辑配置项 sudo apt install dconf-editor找到…

小程序搭建OA项目首页布局界面

首先让我们来学习以下Flex布局 一&#xff0c;Flex布局简介 布局的传统解决方案&#xff0c;基于盒状模型&#xff0c;依赖 display属性 position属性 float属性 Flex布局简介 Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的…

tomcat、nginx实现四层转发+七层代理+动静分离实验

实验环境&#xff1a; nginx1——20.0.0.11——客户端 静态页面&#xff1a; nginx2——20.0.0.21——代理服务器1 nginx3——20.0.0.31——代理服务器2 动态页面&#xff1a; tomcat1——20.0.0.12——后端服务器1 tomcat2——20.0.0.22——后端服务器2 实验步骤&…