When developing software for diverse clients, we often encounter different project requirements. For instance, Customer A might require SAML authentication, while Customer B prefers LDAP authentication.
Spring Profiles, introduced since Spring 3.1, offer a solution to organize and separate configurations within our application. This blog aims to guide us in isolating specific sections of code or Spring beans to meet the distinct needs of various requirements. For instance, the example discussed in this blog can be applied to enable the necessary authentication provider for the provider manager when utilizing Spring Security.
Configuration of profiles can be achieved through annotations, XML, or a combination of both.
LDAP profile annotated configuration
SAML profile annotated configuration
Spring XML configuration
Activate correct profile
Certainly, you have the option to blend both configurations; however, it is advisable to clearly opt for a single configuration to enhance the predictability of your code. In a straightforward Java application, you can establish profiles by activating them in your application context.
Comments