高级XML配置
MVC命名空间没有高级模式。如果你需要自定义一个bean的属性,而该属性无法通过其他方式修改,你可以使用Spring ApplicationContext的BeanPostProcessor生命周期钩子,如下例所示:
- Java
- Kotlin
@Component
public class MyPostProcessor implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String name) throws BeansException {
// ...
return bean;
}
}
@Component
class MyPostProcessor : BeanPostProcessor {
override fun postProcessBeforeInitialization(bean: Any, name: String): Any {
// ...
return bean
}
}
请注意,你需要将 MyPostProcessor 声明为一个 Bean,要么在 XML 中显式声明,要么通过 <component-scan/> 声明让其被自动检测到。