【问题标题】:Real world advantage of using Spring BeanFactoryPostProcessor使用 Spring BeanFactoryPostProcessor 的真实世界优势
【发布时间】:2020-11-07 12:43:58
【问题描述】:
我了解 BeanFactoryPostProcessor 的用法,我们可以通过编写实现 BeanFactoryPostProcessor 的自定义类来修改 bean 定义的元数据。但是当我可以在 spring xml 本身中简单地更改元数据值时,我无法理解通过 BeanFactoryPostProcessor 更改元数据值的原因或优势是什么。
【问题讨论】:
标签:
java
spring
spring-mvc
spring-security
spring-data
【解决方案1】:
你可能想修改你拉入的库中的 spring 配置并且无法控制:)
【解决方案2】:
- 让我们以
PropertyPlaceholderConfigurer BeanFactoryPostProcessor 为例,它是spring 本身使用的。它允许在成为具体的 bean 定义之前修改以下 bean 定义(即${jdbc.url} 替换为正确的值)
<bean id="dataSource">
<property name="url" value="${jdbc.url}" />
</bean>