An example application using AnguarJS/Bootstrap as frontend and Spring MVC as REST API producer.
More details about the source codes, please read the online GitBook: Building REST APIs with Spring MVC.
NOTE: This project is under maintenance, no more new features added in future. If you are looking for the new Spring Boot 2 and Angular 5, check angular-spring-reactive-sample.
This version improved the original version(without Spring Boot), including:
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.
Download the latest Apache Maven from http://maven.apache.org, 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 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 >v4.2.2
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 a copy of the source codes into your local system.
git clone https://github.com/hantsy/angularjs-springmvc-sample-boot
You can use one of the following approaches to run this project.
Run the backend API server via Spring Boot.
The backend APIs will run on port 9000.
Run the frontend UI standalone.
npm install bower install gulp serve
By default, gulp serves the frontend UI static resources on port 3000.
Go to http://localhost:3000 to test it.
Run the following command to resovle the dependencies of the frontend static resources.
npm install bower install
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
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.
I have moved the REST docs generation configuration into a standalone Maven profile.
Execute the following command to generate HTML and PDF format files for your REST APIs from Swagger API description file and Spring test code snippets(as code samples).
mvn clean package -Drestdocs
The detailed configuration is explained in API documention section.
When it is done, check the generated static docs in target/asciidoc folder, it includes a HTML 5 file(under html folder), and a PDF file(in pdf folder).
Open the pdf document in Adobe Reader, it looks like.
You can run the project in multistage Docker building development environment, check Multistage Builds.