Annotation Interface EnableBroadleafSiteAutoConfiguration


Bootstraps Broadleaf customer-facing configuration XML for both servlet and non-servlet beans in use with a traditional MVC application. If you are deploying Broadleaf in a REST-API-only capacity or any other way then this annotation is probably not for you, and instead just EnableBroadleafSiteRootAutoConfiguration is sufficient. If you have a customized ServletContainerInitializer with a servlet-specific ApplicationContext, this annotation should only be placed on an @Configuration class within that servlet-specific . If this is not the case and no servlet-specific ApplicationContext exists in your project and you are using Spring Boot, this must be placed on an inner static class within the @SpringBootApplication class. Example:

 @SpringBootApplication
 public class MyApplication extends SpringBootServletInitializer {

     @Configuration
     @EnableBroadleafSiteAutoConfiguration
     public static class BroadleafConfiguration { }

     public static void main(String[] args) {
         SpringApplication.run(ApiApplication.class, args);
     }

     @Override
     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
         return application.sources(ApiApplication.class);
     }
 }

 

Since this annotation is a meta-annotation for @Import, this can be placed on a @Configuration class that contains an @Import annotation, but this @Import's beans will take precedence over any additional @Import applied.

This import utilizes the FrameworkXmlBeanDefinitionReader so that framework XML bean definitions will not overwrite beans defined in a project.

Since:
5.2
Author:
Philip Baggett (pbaggett), Phillip Verheyden (phillipuniverse), Nick Crum (ncrum)
See Also: