Skip to content Skip to footer

Building Monolithic Spring Boot Application with JHipster

Introduction

This post will give you quick information about JHipster and show you how can you create a fully configured Monolithic Spring Boot application with custom entities with Tests, under 15 minutes.

JHipster

JHipster is an open-source development platform to generate, develop and deploy Spring Boot Angular / React / Vue Web applications and Spring Microservices. It can be quite flexible with various options while creating a new project or bootstrap applications to study new technologies or prototype them.

All you need to write a few shell commands and voila! JHipster will take care of all business. In a minute your application is ready with the following key features:

  • Documented REST API
  • Automated Tests
  • Authentication and Security Support
  • Database Integration for your need (Relational or NoSQL)
  • Responsive Frontend (Optional)
  • Monolithic or Microservice Architecture with Industry best practices

Why Should I Use JHipster?

  • It’s an open-source code generator
  • Supports all popular Frontend Frameworks like Angular, Vue and React
  • Comes with Industry Best Practices on Frontend and Backend Side
  • Supports Spring Boot 2.2.5 so we can develop with Java 11+
  • Typescript support for frontend frameworks
  • Out-of-the-box Authentication and User Management
  • Provides a robust microservice architecture with the JHipster Registry, Netflix OSS, the Elastic Stack and Docker
  • Build your application with Yeoman, Webpack and Maven/Gradle
  • Reactive Support

And many other nice features within.

How cool isn’t it? Let’s dig into it.

Quick Start

Requirements

Beforehand, make sure to install GitJava and Node.js to keep on.

Then install JHipster as an npm package

$ npm install -g generator-jhipster

And check the version of JHipster with

$ jhipster --version

Create a new Project

To create a project, open a terminal window and create a directory. For example, mkdir jhipster-blog.

$ mkdir jhipster-blog && cd jhipster-blog

Navigate into the directory and run jhipster.

$ jhipster

You’ll be prompted to answer a number of questions about the type of application you want to create and what features you’d like to include. The screenshot below shows the choices I made to create a simple blog application with Angular.

For this post, I’ll follow the Monolithic Architecture approach in JHipster.

Figure 1 — Generating the application

JHipster project creation will take a couple of minutes to run. When it’s finished, you should see the expected output like below.

Figure 2 — Generation Complete

Then, run the following command to start the application.

$ ./mvnw

Your application will start under,

http://localhost:8080

Figure 3 — Login Page

This login page gives information about JHipster Application. You can log in with the default username “admin” and password “admin” or you can also register a new account on this page.

JHipster provides the box solution for login and account management. Under Administration Tab, you can manage users also like in Figure 4 below.

Figure 4 — User Management Screen

Check the Application Metrics. Gives information about JVM, Garbage Collector, Request metrics, and so on.

Figure 5 — Application Metrics

You have Swagger documentation from the beginning of your application. Go Administration → API and you can see all endpoints with details.

Figure 6 — Swagger Documentation

You can run Protractor tests also with the following command to see if everything works correctly.

npm run e2e

Thanks for reading. If you like JHipster please give an ⭐ on Github.

If you like the post don’t forget to leave Claps 👏!

Leave a comment