Grails 开发中的 Spring 特性深度解析
1. 初始化与销毁方法
在 Grails 中,使用 initMethod 或 InitializingBean.afterPropertiesSet 进行初始化工作时,由于 Spring 并不了解 Grails 的各种生命周期阶段,初始化阶段的操作会受到一定限制。特别是在插件尚未初始化时,不能使用 GORM 方法。若遇到因该原因无法完成初始化工作的情况,可以将 Bean 注入到 BootStrap.groovy 中进行操作,因为在调用引导类时,所有配置都已完成并可使用。
示例代码如下:
void afterPropertiesSet() {
// initialization work
}
void destroy() {
// shutdown work
}
在早期的 Grails 版本中,日志字段是通过运行时元编程添加的,但在 Grails 2.0 及更高版本中,它是通过 AST 转换(编译时元编程)注入的,因此可以在回调方法中使用日志记录。
2. Bean 后置处理器
Bean(以及 BeanFactory 和 BeanDefinitionRegistry)后置处理器为定制 Spring Bean 提供了强大的方法。对于第三方 JAR 或插件提供的 Bean,在无法(或不应该)编辑代码的情况下,后置处理器特别有用。可以在 Bean 的构建过程中进行干预,在运行时定制一个或多个 Be
超级会员免费看
订阅专栏 解锁全文
1965

被折叠的 条评论
为什么被折叠?



