進階 XML 配置
MVC 命名空間沒有進階模式。如果您需要自訂 Bean 上的屬性,而您無法以其他方式變更,則可以使用 Spring ApplicationContext
的 BeanPostProcessor
生命周期 Hook,如下列範例所示
-
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/>
宣告讓它被偵測到。