--系统参数配置
1、grails提供了conf/Config.groovy,可以把系统参数写在里面如
user.charge.max.times=5
在Controller/Taglib中使用grailsApplication.config.user.charge.max.times方式访问
在Service或其他模块中使用ConfigurationHolder.config.user.charge.max.times方式访问
2、如是开始测试环境与实际运行环境不同,可以使用environments,如
说明在实际运行环境中user.charge.max.times参数为10
3、在spring中的配置会覆盖grails的默认配置。如数据源,有的项目可能要求可直接修改配置而不是修改源码,可以在spring/resource.groovy配置一个新的数据源
4、发现src/groovy中接口中有常量定义的话,在编译时会出错。grails论坛上已经也有人发现了这个问题,回复说可能是groovy编译器的问题
5、如果源码中有中文字符,请一定确保源码是无BOM的UTF-8编码,否则编译器会报错。在我的机器使用UltraEdit编辑过源码后就发现这种情况,UltraEdit会在文件中添加UTF8格式的标识头,但编译器好像不认。
1、grails提供了conf/Config.groovy,可以把系统参数写在里面如
user.charge.max.times=5
在Controller/Taglib中使用grailsApplication.config.user.charge.max.times方式访问
在Service或其他模块中使用ConfigurationHolder.config.user.charge.max.times方式访问
2、如是开始测试环境与实际运行环境不同,可以使用environments,如
user.charge.max.times=5
environments {
production {
user.charge.max.times=10
}
}
说明在实际运行环境中user.charge.max.times参数为10
3、在spring中的配置会覆盖grails的默认配置。如数据源,有的项目可能要求可直接修改配置而不是修改源码,可以在spring/resource.groovy配置一个新的数据源
import org.apache.commons.dbcp.BasicDataSource
dataSource(BasicDataSource) {
driverClassName = "oracle.jdbc.driver.OracleDriver"
url = "jdbc:oracle:thin:@192.168.1.10:1521:test"
username = "aaa"
password = "bbbb"
}
4、发现src/groovy中接口中有常量定义的话,在编译时会出错。grails论坛上已经也有人发现了这个问题,回复说可能是groovy编译器的问题
5、如果源码中有中文字符,请一定确保源码是无BOM的UTF-8编码,否则编译器会报错。在我的机器使用UltraEdit编辑过源码后就发现这种情况,UltraEdit会在文件中添加UTF8格式的标识头,但编译器好像不认。