我需要为Grails应用程序编写一个脚本来修改持久数据,向用户发送电子邮件等。
虽然Grails没有特定的内容 - 我可以使用JDBC,JavaMail完成这些任务 - 我希望有更好的方法。具体来说,如果我可以编写一个可以访问Spring bean的Groovy脚本,以及在Grails应用程序中定义的域类,那么我似乎可以节省很多时间。
有什么建议吗?
答案 0 :(得分:1)
根据您的问题,我假设您需要运行一次性脚本,而不是grails应用程序中的某些功能。为此,您可以编写一个groovy脚本并在grails控制台中运行它:
grails prod console
在控制台中,您可以访问Domain类(和GORM)。然后,您可以将邮件/ activation / commons-email jar转储到lib目录中,或者安装grails Mail plugin。
答案 1 :(得分:1)
另一种可能性是创建一个gant脚本。例如,可以使用以下命令创建HelloWorld.groovy脚本:
grails create-script hello-world
在此脚本中,您可以通过appCtx
变量访问spring上下文,并通过grailsApp
变量访问GrailsApplication实例。您可以使用后者使用
def artistClass = grailsApp.classLoader.loadClass("com.example.User")
然后您可以通常的方式调用GORM方法:
artistClass.list()