- Version: 1.0.0
- GroupId: com.nfkdata
- ArtifactId: springboot-seed
To see documentation about endpoints visit /${server.servlet.context-path}/swagger-ui
.
For checking if the application is alive, the /${server.servlet.context-path}/actuator/live
should be called.
For checking if the application is ready, the /${server.servlet.context-path}/actuator/ready
should be called.
src/main/java
- com.nfkdata.seed: Contains the whole application and SpringBootApplicationLauncher on the root of the package
- com.nfkdata.seed.config: Contains programmatic configuration classes
- com.nfkdata.seed.domain: Contains Data Classes with Lombok annotations
- com.nfkdata.seed.interceptor: Contains interceptors for the application
- com.nfkdata.seed.rest: Contains Root Endpoint
- com.nfkdata.seed.rest.probes: Contains Readiness and Liveness probes
- com.nfkdata.seed.service: Contains business logic services
- META-INF: Contains metadata for custom application properties
src/main/resources
- application.properties: File containing some spring properties
src/test/java
- com.nfkdata.seed: Contains tests for Spring Boot Launcher
- com.nfkdata.seed.rest: Contains tests for Root Endpoint
Property | Description |
---|---|
spring.application.name | Name for the current application |
server.servlet.context-path | Context path for the current application |
server.port | Port where the application will be exposed |
management.endpoints.web.path-mapping.health | Liveness probe endpoint |
management.endpoints.web.exposure.include | Actuator endpoints to expose |
package.to.scan.rest | Package containing REST controllers |
package.to.scan.domain | Package containing data classes |
package.to.scan.service | Package containing business logic Services |
package.to.scan.interceptor | Package containing interceptors |
package.to.scan.config | Package continaing configuration classes |
- OpenJDK 11: Windows, MAC, Linux
- Lombok IDE processing on Eclipse and IntelliJ
Just for development purposes, not needed for compilation
For the versioning of this project is used the following convention:
Major Release
.Feature Release
.Fixes
If some fixes are added with a feature release, it will be just Major Release
.Feature Release
.0
1.0
- Creation of the seed
2.0
- Added Github Action for Maven build
- Added Versioning convention on documentation
2.1
- Added right unit tests for Application Launcher
3.0
- Added services to code
3.1
- Added new property on documentation
4.0
- Added Readiness and Liveness Probes
4.1
- Added documentation about Readiness and Liveness Proves
5.0
- Added OpenAPI implementation
- Added Swagger-ui under
/${server.servlet.context-path}/swagger-ui
- Added documentation about swagger-ui and endpoints
- Sorting of documentation
- Bugfix: When visiting almost every endpoint, will return /${server.servlet.context-path}/ response
0.6.0
- Changed versioning convention
- Added Log4J2 support
- Logging INFO on default file and console
- Logging DEBUG on debug file
- Created packages for interceptors and config
- Created interceptor for logging requests
0.6.1
- Added documentation for
0.6.0
- Added documentation for
1.0.0
- Added Dockerfile for Dockerizing image
- Added port on application.properties
1.1.0
- Added script for Docker managing