簡體   English   中英

Grails 3.2.8域類中的依賴注入

[英]Grails 3.2.8 dependency injection in domain classes

默認情況下,Grails 3.2.8似乎沒有依賴注入為域類工作。

當我創建一個新的應用程序並使用以下println添加Spring Security Core 3.1.1時:

protected void encodePassword() {
    println "springSecurityService == null? ${(springSecurityService==null).toString()}"
    password = springSecurityService?.passwordEncoder ? springSecurityService.encodePassword(password) : password
}

我明白了:

springSecurityService == null? true

如果我嘗試類似地創建和注入服務,我會得到相同的空值。 有一個很好的解決方法嗎?

從Grails 3.2.8開始,出於性能原因,默認情況下禁用域類自動裝配。 您可以通過設置grails.gorm.autowire = true來重新啟用它

Grame已經提到了一個針對spring-security-core的補丁來解決需要服務注入的問題,同時重新啟用自動裝配。

請參閱我在3.2.8上的非官方更改日志: https//gist.github.com/erichelgeson/be2f9f62ab63d989f2ec962ae7001f21

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM