【问题标题】:Execute controller method on startup (Grails)在启动时执行控制器方法(Grails)
【发布时间】:2017-04-11 14:58:21
【问题描述】:

我有一个带有 populate() 方法的事件控制器,该方法将事件从 JSON 链接添加到我的数据库。我希望这发生在我的服务器启动时。

我在我的 Bootstrap 文件中尝试了各种方法。如:

def event = new EventController.populate()

【问题讨论】:

    标签: grails controllers


    【解决方案1】:

    您确实应该将该代码移入服务并移出控制器。这为您提供了更多选择,包括将服务注入您的 Bootstrap.groovy 并在应用程序启动时调用该方法。

    这是一个更合适的 Grails 解决方案。

    【讨论】:

    • 将它放入服务中可能会给我带来哪些其他选择?我是 Grails 的新手
    • 服务也可以实现org.springframework.beans.factory.InitializingBean 接口,它允许您将代码放入afterPropertiesSet 方法中。一旦在应用程序的上下文中创建了 bean,这将运行。当您不想依赖Bootstrap.groovy 时,这很有用。就像另一个例子。服务在您的用例之外也有自己的用处。它们是单例的,通常是无状态的,可以注入到其他服务、控制器、标签库,甚至是域类中。此外,它们也很容易测试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    相关资源
    最近更新 更多