Spring Boot’s auto configuration mechanism provides a great framework for implementing organization standards and opinions. Utilizing these capabilities can enable faster development and keep developers focused on delivering true business value. Without them, developers must locate organizational standards, interpret them correctly, and then implement them. This can lead to multiple, inconsistent implementations that draw development capacity from delivering new features.
Our initial goals were to provide the "right" configuration by default, give the freedom to deviate from the default when needed, and make the deviation from the default declarative. This allows for a very low barrier to adopting the new standards, as well as allowing deviation to be easily identified and managed.
The discussion will include the techniques, with examples, for how we applied standards via custom auto configuration in the areas of security, logging, observability, and web client configurations.