gpt4 book ai didi

grails - springSecurityService 的默认字段值

转载 作者:行者123 更新时间:2023-12-02 14:32:11 26 4
gpt4 key购买 nike

我敢肯定我以前见过这个,但我现在找不到任何关于它的东西。当我尝试这样做时:

class Foo {

def springSecurityService
User userInstance = springSecurityService.currentUser

}

我在编译结束时收到以下错误:

Cannot get property 'currentUser' on null object



我可以不使用服务设置默认用户吗?
  • 运行 Grails 2.2.0。
  • Foo是一个域类。

  • 编辑

    我用 javax.annotations.PostConstruct 尝试了以下解决方案,但永远不会调用带注释的方法。我不认为它被调用,因为我放了 println中的声明,它不会被调用。我正在用 new Foo() 实例化我的类.

    最佳答案

    试试这个

    import javax.annotation.PostConstruct

    class Foo {

    def springSecurityService
    User userInstance

    @PostConstruct
    private void init() {
    userInstance = springSecurityService.currentUser
    }
    }

    您的代码不起作用的原因是因为您试图设置 userInstance之前 springSecurityService已被依赖注入(inject)。

    我假设 Foo是域类,如果它是 src/groovy 中的类那么这种方法将不起作用,因为这些类不受依赖注入(inject)的影响。

    关于grails - springSecurityService 的默认字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24292965/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com