如果你不想看propertyPlaceholderConfigurer使用的原理,你可以点击这里 ,直接跳转到你所需要的property-placeholder。
Spring提供了一种叫做BeanFactoryPostProcessor的容器扩展机制。该机制允许我们在容器实例化相应对象之前,对注册到容器的BeanDefinition所保存的信息做相应的修改。这就相当于在容器实现的第一阶段最后加入一道工序,让我们对最终的BeanDefinition做一些额外的操作,比如修改其中bean定义的某些属性,为bean定义增加其他信息等.
- 如果要定义实现BeanFactoryPostProcessor,通常我们需要实现org.springframework.beans.factory.config.BeanFactoryPostProcessor接口。同时,因为一个容器可能拥有多个Bean-FactoryPostPrecessor,这个时候可能需要实现类同时实现Spring的org.springframework.core.Ordered接口,以保证各个BeanFactoryPostProcessor可以按照预先设定的顺序执行(如果顺序要紧的话)。但是,因为Spring已经提供了几个现成的BeanFactoryPostProcessor实现类,所以,大多数时候,我们很少自己实现某个BeanFactoryPostProcessor。其中org.springframework,beans.config.PropertyPlaceholderConfigurer和org.springframework.beans.factory.config.PropertyOverride