我是Grails的新手,我继承了现有的应用程序.我有一个大文件message.properties,我想修剪,以删除不再使用的密钥.
在Django中,有一个命令makemessages遍历所有代码库并收集所有需要转换的字符串,将它们添加到消息文件中并注释掉不再存在的条目.Grails有类似的工具吗?如果有帮助,该项目基于1.3.9版本.
我知道我可以通过定义具有相同名称的自己的bean来替换Grails提供的Spring bean.例如,如果我想替换messageSourceGrails提供的bean
class MyMessageSource implements MessageSource {
// methods omitted
}
Run Code Online (Sandbox Code Playgroud)
然后添加以下内容 resources.groovy
messageSource(MyMessageSource)
Run Code Online (Sandbox Code Playgroud)
但是,假设我想MyMessageSource装饰Grails提供的这个bean的实现
class MyMessageSource implements MessageSource {
// this field should be set to the MessageSource impl provided by Grails
MessageSource messageSource
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何连接它resources.groovy.显然我不能这样做:
messageSource(MyMessageSource) {
messageSource = ref('messageSource')
}
Run Code Online (Sandbox Code Playgroud)
因为看起来我正在定义一个依赖于它自己的bean.我当然可以给我的豆子命名,例如
myMessageSource(MyMessageSource) {
messageSource = ref('messageSource')
}
Run Code Online (Sandbox Code Playgroud)
但是,任何超出我控制范围的类(例如插件类)都声明依赖,messageSource将被设置为Grails而不是我的装饰器提供的bean.