本文中主要包含:
23.使用后台处理器post-processor
1.使用BeanPostProcessor
如果向一个bean factory注册post-processor的话,那么对于这个工厂产生的每个bean的实例的话,都会调用Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException和Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException方法。这里需要注意的是ApplicationContext会自动检测并注册post-processor,但是BeanFactory需要手动注册。使用方法如下:
MyBeanPostProcessor.java:
客户端程序:
2.使用BeanFactoryPostProcessor定制bean工厂
如果一个类实现上面的接口,那么这个类就能在bean factory创建之后,完成对于这个bean factory的修改。spring中包含很多现成的实现上面接口的实现类:PropertyPlaceholderConfigurer,PropertyOverrideConfigurer。下面是这两个的实例。
1.PropertyPlaceholderConfigurer
如果在applicationContext.xml文件中定义:
同时存在下面的文件jdbc.properties:
客户端: