tho*_*nic 4 grails groovy spring
这里messageSource定义了Grails i18n插件中定义的bean :
messageSource(PluginAwareResourceBundleMessageSource) {
basenames = baseNames.toArray()
fallbackToSystemLocale = false
pluginManager = manager
....
}
Run Code Online (Sandbox Code Playgroud)
是否可以覆盖fallbackToSystemLocale我的resources.groovy中的值的配置,例如:
messageSource {
fallbackToSystemLocale = true
}
Run Code Online (Sandbox Code Playgroud)
以上不起作用,我得到一个错误:"创建名为'messageSource'的bean时出错:Bean定义是抽象的"
有没有理由不简单地更新bean BootStrap.groovy?
class BootStrap {
def def messageSource
def init = { servletContext ->
messageSource.fallbackToSystemLocale = true
}
}
Run Code Online (Sandbox Code Playgroud)
如果要在运行BootStrap之前修改bean,可以BeanPostProcessor在此博客文章中使用as .
SRC /常规/ yourpkg/CustomBeanPostProcessor:
import org.springframework.beans.factory.config.BeanPostProcessor
class CustomBeanPostProcessor implements BeanPostProcessor{
@Override
Object postProcessBeforeInitialization(Object bean, String beanName) {
return bean
}
@Override
Object postProcessAfterInitialization(Object bean, String beanName) {
if(beanName == 'messageSource') {
bean.setFallbackToSystemLocale = true
}
return bean
}
}
Run Code Online (Sandbox Code Playgroud)
resources.groovy:
beans = {
customBeanPostProcessor(CustomBeanPostProcessor)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2508 次 |
| 最近记录: |