Synopsis
The is the base reusable implementation for Spring Boot type tech stacks used to create a headless (no UI) application comprised of a set of reusable Restful APIs.
The stack includes:
- Spring Boot:
- Designed to simplify the bootstrapping and development of a new Spring application.
- MongoDB:
- A general purpose, document-based, distributed database built for modern application developers and for the cloud era
- JUnit:
- Unit testing framework for Java
- Memcached:
- A general-purpose distributed memory-caching system
- Morphia:
- An Object to Document mapping framework to simplify persisting Plain Old Java Objects
Details
Contents
Along with what is supported by the parent tech stack (
.java.tech.stack), the following are overridden and additional capabilities:
- App:
- The main Application template used to configure, initiate, and run as a Spring application.
- Build/Maven:
- Overrides the default Maven pom.xml file to create a Spring Boot self-contained web application.
- Controller:
- Template used to generate the Restful handlers for all CRUD functions for each entity within the model.
- Config/Properties:
- Contains the templates to generate the Hibernate XML database schema declarations.
Usage
If using a CI/CD platform such as CircleCI, AWS Codebuild, Jenkins, etc.., it is best to refer to the Pipeline YAML file generated for that platform.
If not using a CI/CD platform refer to the instructions below on how to use the generated project.
To get started manually
In the root directory of the generated project is a generated Maven pom.xml file that contains the declarations and dependencies to run the application within a Jetty container.
mvn spring-boot:run