gpt4 book ai didi

域类中的 Grails springSecurityService 注入(inject)(NULL)

转载 作者:行者123 更新时间:2023-12-02 15:05:40 26 4
gpt4 key购买 nike

当我将 springSecurityService 注入(inject) Grails User 域类时,它始终为空:

我试过:

def springSecurityService
static transients = ['springSecurityService']

或者
def transient springSecurityService
static transients = ['springSecurityService']

但它是一样的,所以我不能使用 springSecurityService.encodePassword(password)

有任何想法吗?为什么不注入(inject)?

我找到了一个决定。我在参数化构造函数中注释掉了对 this() 的调用。
User(String name, String email) {
//this()
this.name = name
this.email = email
}

这打破了依赖注入(inject)。

最佳答案

这已记录在 here (请参阅以“在可行的情况下,生成的域类包括参数化构造函数”开头的注释。)。

如果需要,您可以删除参数化构造函数,但如果没有 this(),则无法使用它们。在不丢失依赖注入(inject)的情况下调用生成的默认构造函数。

IntelliJ 错误地将调用标记为 this()无效,我在他们的问题跟踪器中将其报告为错误。它将在即将发布的第 15 版中修复。

关于域类中的 Grails springSecurityService 注入(inject)(NULL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32538187/

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