Spring Framework / Spring Boot Projects
This page contains documentation and examples specific for Spring Framework and Spring Boot Projects.
General Information
The Spring Framework and Spring Boot are JVM Runtime frameworks. What this means is that they provide all their features at runtime.
The IoC container as the central core of the Spring Framework inspects the runtime environment at application startup.
For that it uses mainly the classpath of the JVM.
It collects all configurations, instantiates services and injects dependencies.
Configurations can come from various places like Java Properties files, YAML files or Java @Configuration classes.
The Spring Boot framework additionally scans the runtime classpath to auto-detect other frameworks and Spring Boot specific features. Based on it’s finding it enables dedicated features. Additionally, you can configure Spring Boot programmatically and via configuration files.
As a consequence, Spring projects typically don’t need any special support from a build tool, which is nice, since you don’t need to lean any new Mill-specific concepts when you want to use Mill for your Spring projects. Spring Boot is also not tied to use of Java. It is easily possible to use or mix different JVM languages in your Spring projects.
Being a runtime framework also means, that most issues you may encounter like configuration problems, missing dependencies, dependency conflicts or unexpected application behavior, can’t be easily detected at build-time. These often require inspection of the running or starting application and dealing with error messages and JVM stack traces. The use of a debugger can be sometimes necessary. When developing Spring projects, you should therefore also maintain a functional test suite.
Some tools provided by the Spring Boot project are also useful outside of Spring Boot projects, hence Mill makes them available even for non-Spring project. Those are linked below:
-
RepackageModule- Creates self-running application assemblies in a single-jar