Almost all of our auto-configuration classes are currently annotated with @Configuration. The means that the ConfigurationClassPostProcessor will treat them as full configuration classes and create cglib proxies.
This is potentially quite an expensive operation and is unnecessary for most of them. As long as we use parameter injection (and don't call other methods directly) we can use the @Component annotation instead to create ConfigurationClassUtils.CONFIGURATION_CLASS_LITE configuration.
Almost all of our auto-configuration classes are currently annotated with
@Configuration. The means that theConfigurationClassPostProcessorwill treat them as full configuration classes and create cglib proxies.This is potentially quite an expensive operation and is unnecessary for most of them. As long as we use parameter injection (and don't call other methods directly) we can use the
@Componentannotation instead to createConfigurationClassUtils.CONFIGURATION_CLASS_LITEconfiguration.