高级 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/> 声明来检测它。