This GenericBeanDefinition variant is mainly useful for testing code that expects
to operate on an AnnotatedBeanDefinition, for example strategy implementations
in Spring's component scanning support (where the default definition class is
which also implements the AnnotatedBeanDefinition interface).
Create a new AnnotatedGenericBeanDefinition for the given annotation metadata,
allowing for ASM-based processing and avoidance of early loading of the bean class.
Note that this constructor is functionally equivalent to
ScannedGenericBeanDefinition, however the semantics of the latter indicate that a
bean was discovered specifically via component-scanning as opposed to other means.
metadata - the annotation metadata for the bean class in question