@FunctionalInterface public interface BeanFactoryPostProcessor
Useful for custom config files targeted at system administrators that
override bean properties configured in the application context. See
PropertyResourceConfigurer and its concrete implementations for
out-of-the-box solutions that address such configuration needs.
A BeanFactoryPostProcessor may interact with and modify bean
definitions, but never bean instances. Doing so may cause premature bean
instantiation, violating the container and causing unintended side-effects.
If bean instance interaction is required, consider implementing
BeanPostProcessor instead.
An ApplicationContext auto-detects BeanFactoryPostProcessor
beans in its bean definitions and applies them before any other beans get created.
A BeanFactoryPostProcessor may also be registered programmatically
with a ConfigurableApplicationContext.
BeanFactoryPostProcessor beans that are autodetected in an
ApplicationContext will be ordered according to
PriorityOrdered and
Ordered semantics. In contrast,
BeanFactoryPostProcessor beans that are registered programmatically
with a ConfigurableApplicationContext will be applied in the order of
registration; any ordering semantics expressed through implementing the
PriorityOrdered or Ordered interface will be ignored for
programmatically registered post-processors. Furthermore, the
@Order annotation is not
taken into account for BeanFactoryPostProcessor beans.
BeanPostProcessor,
PropertyResourceConfigurer| Modifier and Type | Method and Description |
|---|---|
void |
postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Modify the application context's internal bean factory after its standard
initialization.
|
void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
beanFactory - the bean factory used by the application contextBeansException - in case of errors