Annotation Interface PluginAutoConfiguration
@Target(TYPE)
@Retention(RUNTIME)
@Documented
@Configuration(proxyBeanMethods=false)
@AutoConfigureBefore
@AutoConfigureAfter
public @interface PluginAutoConfiguration
Indicates that a class provides configuration that can be automatically applied by
Rarog. Auto-configuration classes are regular
Configuration with the exception that
Configuration#proxyBeanMethods() proxyBeanMethods is always false.
They are located using PluginImportCandidates.
This annotation is Rarog plugin counterpart for AutoConfiguration.
Rarog defines its own auto-configuration functionality to avoid collision with
Spring Boot, which could cause a lot hard to debug and understand problems.
Generally auto-configuration classes are marked as @Conditional
(most often using @ConditionalOnClass and
@ConditionalOnMissingBean annotations).
- See Also:
-
EnablePluginAutoconfigurationAutoConfigureBeforeAutoConfigureAfterConditionalConditionalOnClassConditionalOnMissingBean
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionClass<?>[]The auto-configure classes that should have already been applied.String[]The names of the auto-configure classes that should have already been applied.Class<?>[]The auto-configure classes that should have not yet been applied.String[]The names of the auto-configure classes that should have not yet been applied.Explicitly specify the name of the Spring bean definition associated with the@AutoConfigurationclass.
-
Element Details
-
value
Explicitly specify the name of the Spring bean definition associated with the@AutoConfigurationclass. If left unspecified (the common case), a bean name will be automatically generated.The custom name applies only if the
@AutoConfigurationclass is picked up via component scanning or supplied directly to anAnnotationConfigApplicationContext. If the@AutoConfigurationclass is registered as a traditional XML bean definition, the name/id of the bean element will take precedence.- Returns:
- the explicit component name, if any (or empty String otherwise)
- See Also:
-
AnnotationBeanNameGenerator
- Default:
- ""
-
before
@AliasFor(annotation=org.springframework.boot.autoconfigure.AutoConfigureBefore.class, attribute="value") Class<?>[] beforeThe auto-configure classes that should have not yet been applied.- Returns:
- the classes
- Default:
- {}
-
beforeName
@AliasFor(annotation=org.springframework.boot.autoconfigure.AutoConfigureBefore.class, attribute="name") String[] beforeNameThe names of the auto-configure classes that should have not yet been applied.- Returns:
- the class names
- Default:
- {}
-
after
@AliasFor(annotation=org.springframework.boot.autoconfigure.AutoConfigureAfter.class, attribute="value") Class<?>[] afterThe auto-configure classes that should have already been applied.- Returns:
- the classes
- Default:
- {}
-
afterName
@AliasFor(annotation=org.springframework.boot.autoconfigure.AutoConfigureAfter.class, attribute="name") String[] afterNameThe names of the auto-configure classes that should have already been applied.- Returns:
- the class names
- Default:
- {}
-