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:
-
EnablePluginAutoconfiguration
AutoConfigureBefore
AutoConfigureAfter
Conditional
ConditionalOnClass
ConditionalOnMissingBean
-
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@AutoConfiguration
class.
-
Element Details
-
value
Explicitly specify the name of the Spring bean definition associated with the@AutoConfiguration
class. If left unspecified (the common case), a bean name will be automatically generated.The custom name applies only if the
@AutoConfiguration
class is picked up via component scanning or supplied directly to anAnnotationConfigApplicationContext
. If the@AutoConfiguration
class 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:
- {}
-