spring的配置项 <context:property-placeholder location="classpath:xxx.properties">,在location配置了属性文件,spring会为我们建立一个bean PropertyPlaceholderConfigurer,这个bean是实现了BeanFactoryPostProcessor这个接口,这个BeanFactoryPostProcessor会遍历容器中所有的bean 定义,并处理定义中的属性值、class name、方法名等等:
visitParentName(beanDefinition);
visitBeanClassName(beanDefinition);
visitFactoryBeanName(beanDefinition);
visitFactoryMethodName(beanDefinition);
visitScope(beanDefinition);
visitPropertyValues(beanDefinition.getPropertyValues());
ConstructorArgumentValues cas = beanDefinition.getConstructorArgumentValues();
visitIndexedArgumentValues(cas.getIndexedArgumentValues());
visitGenericArgumentValues(cas.getGenericArgumentValues());
网友评论