A RESTful sample using Spring Boot, Spring MVC, Spring Data and Angular/Bootstrap.


An example application using AnguarJS/Bootstrap as frontend and Spring MVC as REST API producer.

More details about the codes, please read the online GitBook: Building REST APIs with Spring MVC.


Technology stack:

  • Spring Boot
  • Spring MVC
  • Spring Data JPA
  • JPA
  • Hibernate 5.2
  • Spring Security
  • Swagger/Swagger2Markup/Spring Rest Docs
  • Spring Test/JUnit/Mockito/JBehave/RestAssured
  • Lombok
  • ModelMapper
  • AngularJS
  • Bootstrap

This version improved the original version, including:

  • Introduction of Gulp build system to processing the static resources
  • The frontend UI can be run standalone via NodeJS eco-system
  • An option provided and allow you to package the static resources as part of final jar and run the application via mvn spring-boot:run directly


  • JDK 8

Oracle Java 8 is required, go to Oracle Java website to download it and install into your system.

Optionally, you can set JAVA_HOME environment variable and add <JDK installation dir>/bin in your PATH environment variable.

  • Apache Maven

Download the latest Apache Maven from, and uncompress it into your local system.

Optionally, you can set M2_HOME environment varible, and also do not forget to append <Maven Installation dir>/bin your PATH environment variable.

  • NodeJS

NodeJS is required to build the frontend static resources.

Download NodeJS and install it into your local system.

After it is installed, open terminal, and using node -v command to confirm.

  node -v 

bower is also requried to install the runtime dependencies, and gulp is chosen as our build tools for the statics resources.

  npm install -g bower
  npm install -g gulp

Get the source codes

Get a copy of the source codes into your local system.

git clone

Run the project

Run frontend UI and backend respectively

  1. Run the backend API server via Spring Boot.
   mvn spring-boot:run

The backend APIs will run on port 9000.

  1. Run the frontend UI standalone.
   npm install
   bower install
   gulp serve

By default, gulp serves the frontend UI static resources on port 3000.

  1. Go to http://localhost:3000 to test it.

Run the project via Spring Boot maven plugin

  1. Run the following command to resovle the dependencies of the frontend static resources.
   npm install
   bower install
  1. Run the backend API server with spring-boot command. The parameter -Dstatic-ui will copy the static resources and package into the jar archive.
   mvn spring-boot:run -Dstatic-ui
  1. Go to http://localhost:9000 to test it.

If you want to explore the REST API docs online, there is a Swagger UI configured for visualizing the REST APIs, just go to http://localhost:9000/swagger-ui.html.

Related Repositories



A RESTful sample using Spring Boot, Spring MVC, Spring Data and Angular/Bootstrap. ...

Top Contributors