1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| @Component public class ConstomBeadFactoryPostProcessor implements BeanFactoryPostProcessor {
private Logger log = LoggerFactory.getLogger(ConstomBeadFactoryPostProcessor.class);
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
GenericBeanDefinition genericBeanDefinition = (GenericBeanDefinition) beanFactory.getBeanDefinition("demonBean");
/** * 属性注入方式, * * @see #AUTOWIRE_NO 0,默认 @Autowired * * @see #AUTOWIRE_BY_NAME setter方法 * * @see #AUTOWIRE_BY_TYPE * * @see #AUTOWIRE_CONSTRUCTOR 构造方法注入 * * @see #AUTOWIRE_AUTODETECT */ int autowireMode = genericBeanDefinition.getAutowireMode(); log.debug("{}, autowireMode={}", genericBeanDefinition.getBeanClassName(), autowireMode);
/** * 修改 bean的 构造方式 */ GenericBeanDefinition personBeanDefinition = (GenericBeanDefinition) beanFactory.getBeanDefinition("person"); ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues(); constructorArgumentValues.addIndexedArgumentValue(0,"zero"); personBeanDefinition.setConstructorArgumentValues(constructorArgumentValues);
// log.debug("beanFactory={}", beanFactory);
} }
|