[英]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.