我正在将Grails插件更新为Grails 3.代码使用ConfigSlurper.parse()
将Groovy配置脚本解析为ConfigObject
。
看来Grails 3的默认配置样式是YAML,那么是否有类似的实用程序将YAML解析为ConfigObject?
答案 0 :(得分:4)
ConfigObject只是Grails 3中的一个中间类,用于从Groovy配置文件创建PropertySource。配置的类型现在是org.grails.config.PropertySourcesConfig
。
我不确定是否有更直接的方法来执行此操作,但是这里有一些可以从YAML文件构建PropertySourcesConfig
的工作代码:
import org.grails.config.PropertySourcesConfig
import org.grails.config.yaml.YamlPropertySourceLoader
import org.springframework.core.io.FileSystemResource
String name = 'my yaml file'
def resource = new FileSystemResource(new File('/path/to/foo.yml'))
def mapPropertySource = new YamlPropertySourceLoader().load(
name, resource, null/*profile*/)
def conf = new PropertySourcesConfig(mapPropertySource.getSource())
答案 1 :(得分:0)
如果YAML被解析为Mail::send('emails.invoice1', $data, function ($message) use ($data) {
$message->from('admin@mapdip5b.com', 'Sales');
$message->to($data['email'], $data['name'])->subject('Your Payment Has Been Accepted');
});
,那么您可以在Map
的实例上调用putAll
:
ConfigObject