Class StandardBeanInfoFactory
- All Implemented Interfaces:
BeanInfoFactory,Ordered
- Direct Known Subclasses:
ExtendedBeanInfoFactory
BeanInfoFactory implementation that performs standard
Introspector inspection.
To be configured via a META-INF/spring.factories file with the following content:
org.springframework.beans.BeanInfoFactory=org.springframework.beans.StandardBeanInfoFactory
Ordered at Ordered.LOWEST_PRECEDENCE to allow other user-defined
BeanInfoFactory types to take precedence.
- Since:
- 6.0
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringSystem property that instructs Spring to use theIntrospector.IGNORE_ALL_BEANINFOmode when calling the JavaBeansIntrospector: "spring.beaninfo.ignore", with a value of "true" skipping the search forBeanInfoclasses (typically for scenarios where no such classes are being defined for beans in the application in the first place).Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetBeanInfo(Class<?> beanClass) Return the bean info for the given class, if supported.intgetOrder()Get the order value of this object.
-
Field Details
-
IGNORE_BEANINFO_PROPERTY_NAME
System property that instructs Spring to use theIntrospector.IGNORE_ALL_BEANINFOmode when calling the JavaBeansIntrospector: "spring.beaninfo.ignore", with a value of "true" skipping the search forBeanInfoclasses (typically for scenarios where no such classes are being defined for beans in the application in the first place).The default is "false", considering all
BeanInfometadata classes, like for standardIntrospector.getBeanInfo(Class)calls. Consider switching this flag to "true" if you experience repeated ClassLoader access for non-existingBeanInfoclasses, in case such access is expensive on startup or on lazy loading.Note that such an effect may also indicate a scenario where caching doesn't work effectively: Prefer an arrangement where the Spring jars live in the same ClassLoader as the application classes, which allows for clean caching along with the application's lifecycle in any case. For a web application, consider declaring a local
IntrospectorCleanupListenerinweb.xmlin case of a multi-ClassLoader layout, which will allow for effective caching as well.
-
-
Constructor Details
-
StandardBeanInfoFactory
public StandardBeanInfoFactory()
-
-
Method Details
-
getBeanInfo
Description copied from interface:BeanInfoFactoryReturn the bean info for the given class, if supported.- Specified by:
getBeanInfoin interfaceBeanInfoFactory- Parameters:
beanClass- the bean class- Returns:
- the BeanInfo, or
nullif the given class is not supported - Throws:
IntrospectionException- in case of exceptions
-
getOrder
public int getOrder()Description copied from interface:OrderedGet the order value of this object.Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet
load-on-startupvalues).Same order values will result in arbitrary sort positions for the affected objects.
-