Annotation Interface EnableFrameworkControllers


@Target(TYPE) @Retention(RUNTIME) @Documented @ComponentScan(useDefaultFilters=false, basePackages={"org.broadleafcommerce","com.broadleafcommerce"}, includeFilters=, nameGenerator=BroadleafBeanNameGenerator.class) public @interface EnableFrameworkControllers
Enables only FrameworkController annotations, which are the MVC controllers.

If you desire all of Broadleaf's default controllers, including the RESTful ones, then use EnableAllFrameworkControllers instead.

Scan all Broadleaf modules for FrameworkController so that their FrameworkMappings will get included in FrameworkControllerHandlerMapping to provide default implementations of web endpoints.

If only some FrameworkControllers are desired, then use excludeFilters() to disable undesired default controllers.

DO NOT place this annotation on the same class as another ComponentScan or other annotations that compose ComponentScan such as @SpringBootApplication and EnableFrameworkRestControllers as they will conflict when Spring performs annotation composition. Instead, you can create a nested class in your @SprintBootApplication class like this:

 
 @literal @SpringBootApplication
 public class MyApplication {

     @literal @EnableFrameworkControllers
     public static class EnableBroadleafControllers {}

     public static void main(String[] args) {
         SpringApplication.run(MyApplication.class, args);
     }
 }
 
 
Since:
5.2
Author:
Philip Baggett (pbaggett)
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    org.springframework.context.annotation.ComponentScan.Filter[]
    A set of ComponentScan.Filters that describe classes to exclude from component scanning.
  • Element Details

    • excludeFilters

      @AliasFor(annotation=org.springframework.context.annotation.ComponentScan.class, attribute="excludeFilters") org.springframework.context.annotation.ComponentScan.Filter[] excludeFilters
      A set of ComponentScan.Filters that describe classes to exclude from component scanning.

      This is most useful when you want to enable some framework controllers but exclude others. You can exclude classes annotated with FrameworkController by providing a filter like @EnableFrameworkControllers(excludeFilters = @Filter(value = DefaultCustomerController.class, type = FilterType.ASSIGNABLE_TYPE))

      See Also:
      • ComponentScan.excludeFilters()
      • ComponentScan.Filter
      Default:
      {}