事实证明,我想要的是动态地使实例
B依赖
A。这可以通过使用来实现
BeanFactoryPostProcessor,以改变bean定义的
B豆类。
public class DependsonPostProcessor implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { String[] beanNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors( beanFactory, B.class, true, false); for (String beanName : beanNames) { BeanDefinition definition = beanFactory.getBeanDefinition(beanName); definition.setDependsOn(StringUtils.addStringToArray( definition.getDependsOn(), "beanNameOfB"); } }}
这适用于纯Spring,不需要Spring
Boot。要完成自动配置,我需要将的bean定义添加
DependsOnPostProcessor到实例化bean的配置类中
A。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)