When we start a Spring Boot application and pass arguments to the application, Spring Boot will capture those arguments and creates a Spring bean of type ApplicationArguments
and puts it in the application context.
We can use this Spring bean to access the arguments passed to the application.
We could for example auto wire the bean in another bean and use the provided argument values.
The ApplicationArguments
interface has methods to get arguments values that are options and plain argument values.
An option argument is prefixed with --
, for example --format=xml
is a valid option argument.
If the argument value is not prefixed with --
it is a plain argument.
Continue reading →
When we write a Spring Boot application a lot of things are done for us.
For example when an exception in the application occurs when we start our application, Spring Boot will exit the application with exit code 1
.
If everything goes well and the we stop the application the exit code is 0
.
When we use the run
method of SpringApplication
and an exception is not handled by our code, Spring Boot will catch it and will check if the exception implements the ExitCodeGenerator
interface.
The ExitCodeGenerator
interface has one method getExitCode()
which must return a exit code value.
This value is used as input argument for the method System.exit()
that is invoke by Spring Boot to stop the application.
Continue reading →
With Spring Boot Actuator we get some endpoints that display information about our application.
One of the endpoints is the /info
endpoint.
If our project uses Git we can add information about Git to the /info
endpoint.
By default Spring Boot will look for a file git.properties
in the classpath of our application.
The file is a Java properties file with keys that start with git.
and have values like the branch name, commit identifier and commit message.
Spring Boot uses this information and when we request the /info
endpoint we get a response with the information.
This can be very useful to check the Git information that was used to build the application.
To create the git.properties
file we can use a Gradle (or Maven) plugin that will do the work for us.
Continue reading →