Java on Azure Spring Apps
Note: Azure Spring Apps is the new name for the Azure Spring Cloud service.
This tutorial shows you how to create a Java web application with Visual Studio Code. You'll learn how to run, debug, and edit the Java web app locally and then on a fully managed Microservices platform built for Java workloads:Azure Spring Apps.
Scenario
We will deploy a simple Spring Boot Getting Started web app to Azure Spring Apps.
Azure Spring Apps makes it easy to deploy Spring Boot microservice applications to Azure without any code changes. The service manages the infrastructure of Spring Apps applications so developers can focus on their code. Other benefits include:
- Efficiently migrate existing Spring apps and manage cloud scaling and costs.
- Modernize apps with Spring Apps patterns to improve agility and speed of delivery.
- Run Java at cloud scale and drive higher usage without complicated infrastructure.
- Develop and deploy rapidly without containerization dependencies.
- Monitor production workloads efficiently and effortlessly.
Before you begin
Before running and deploying this sample, you must have the Java SE Development Kit (JDK) version 11 or above and Apache Maven build tools on your local development environment. If you don't already have them, install these tools first.
Download and install theExtension Pack for Java.
Note: The
JAVA_HOME
environment variable must be set to the install location of the JDK to complete this tutorial.
Download Apache Maven version 3 or greater:
Install Apache Maven for your local development environment:
Download and test the Spring Boot app
Clone theSpring Boot Getting Started sample project to your local machine. You can clone a Git repository with theGit: Clone command in theCommand Palette (⇧⌘P (Windows, LinuxCtrl+Shift+P)). Pastehttps://github.com/spring-guides/gs-spring-boot.git
as the URL of the remote repository and then decide the parent directory under which to put the local repository. After that, open thecomplete
folder within the cloned repository in VS Code by navigating to the folder and typingcode .
.
Note: You can install Visual Studio Code fromhttps://code.visualstudio.com and Git fromhttps://git-scm.com.
From within VS Code, open any of the Java files within thecomplete
folder (for examplesrc\main\java\hello\Application.java
). If you don't have the Java language extensions installed for VS Code, you will be prompted to install the MicrosoftExtension Pack for Java. Follow the instructions and reload VS Code after the installation.
Once you have the Extension Pack for Java installed, it will automatically build the project for you (the build may take several minutes). You can run the application within VS Code by pressingF5 and selecting theJava environment. The Java Debug extension will generate a debugging configuration filelaunch.json
for you under a.vscode
folder in your project. You can see build progress in the VS Code Status bar and when everything is finished, the final active debug configuration is displayed.
You can learn more about how VS Code launches your application in DebuggingLaunch Configurations. PressF5 again to launch the debugger.
Test the web app by browsing tohttp://localhost:8080 using a web browser. You should see the following message displayed: "Greetings from Spring Boot!".
Make a change
Let's now editHelloController.java
to change "Greetings from Spring Boot!" to something else like "Hello World". VS Code provides a great editing experience for Java, check outEditing and Navigating Code to learn about VS Code's editing and code navigation features.
Select theRestart button on the top of the editor to relaunch the app and see result by reloading the browser.
Debug the application
Set a breakpoint (F9) in the application source code, and reload your browser to hit the breakpoint.
If you would like to learn more about debugging Java with VS Code, you can readJava Debugging.
Congratulations, you have your first Spring Boot web app running locally! Read on to learn how to host it in the cloud.
Deploy to Azure Spring Apps
We just built a Java web application and ran it locally. Now you will learn how to deploy from Visual Studio Code and run it onAzure Spring Apps.
Install the Azure Spring Apps extension
TheAzure Spring Apps extension is used to create, manage, and deploy to Azure Spring Apps with key features including:
- Create/View/Delete apps in Azure Spring Apps
- Deploy Jar to the app
- Access the app with public/private endpoint
- Start, stop, and restart the app
- Scale the app in/out, up/down
- Config application settings such as environment variables and JVM options
- Stream logs from the app
To install the Azure Spring Apps extension, open the Extensions view (⇧⌘X (Windows, LinuxCtrl+Shift+X)) and search forazure spring apps
to filter the results. Select the MicrosoftAzure Spring Apps extension. For a command-line experience, you can also check out theAzure Spring Apps quickstart with Azure CLI.
Sign in to your Azure subscription
The deploy process uses theAzure Account extension (installed along with the Spring Cloud extension as a dependency) and you need to sign in with your Azure subscription.
If you don't have an Azure subscription, you can sign up for afree Azure account.
Create your free Azure account
To sign in to Azure, runAzure: Sign In from theCommand Palette (⇧⌘P (Windows, LinuxCtrl+Shift+P)). Or you can sign in to your Azure Account by clickingSign in to Azure... inSPRING APPS Explorer.
Create an app on Azure Spring Apps
Once you are signed in to your Azure account and you have your app open in Visual Studio Code, select the Azure icon in the Activity Bar to open the Azure Explorer and you will see the Azure Spring Apps panel.
Right-click on your subscription and selectCreate Service in Portal. Finish the following steps on the Azure Portal to create an Azure Spring Apps service instance.
After the service instance is created, refresh the Azure Explorer to display the new service instance. Right-click on the service instance and selectCreate App. Type the app name, select the Java version, and then pressEnter to start creating. The app will be ready in a few minutes.
Build and deploy the app
You can open the command prompt or terminal window and build the project using Maven commands. The build will generate a newwar
orjar
artifact in thetarget
directory.
mvn clean package
Right-click on the App in Azure Explorer, selectDeploy, and pick your built Jar file when prompted.
You can watch the deployment status on the bottom right. Once done, selectAccess Public Endpoint to test the app running on Azure andYes when prompted to assign a public endpoint. Be aware that only Spring Boot fat Jar is supported,learn more about apps on Azure Spring Apps.
Scale the app
You can easily scale the app by right-clicking on theInstance count underScale Settings and selectingEdit. Type "2" and pressEnter to scale the app.
Stream your application logs
Expand theApp Instances node, right-click the instance you want to see logs, and selectStart Streaming Logs.
The Visual Studio Code output window opens with a connection to the log stream.
Next steps
- Explore more powerful features ofAzure Spring Apps with Microservices.
- To learn more about Java Debugging features, read theJava Debugging Tutorial.