域中的 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
默认情况下,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