【问题标题】:Grails 3.X Inject service into Custom ListenerGrails 3.X 将服务注入自定义监听器
【发布时间】:2017-01-17 02:05:16
【问题描述】:

我想知道是否有人知道将服务注入到 Grails 3.X 中的自定义侦听器中。我正在使用 spring secuirty 插件以避免暴力攻击。除了 Grails 2.0,只有一个答案。提前致谢。

更新!
只为那些可以使用它的人。我尝试了 Autowired 并且它有效。比如:

@Autowired
public LoginAttemptService loginAttemptService

LoginAttemptService 已经声明为 Bean

【问题讨论】:

    标签: grails service listener


    【解决方案1】:

    作为shown here 像你的注射一样声明它:

     MyService myService 
    

    然后在需要的时候

     def ctx = Holders.applicationContext
     myService= ctx.myService 
    

    或者

    def myService = Holders.grailsApplication.mainContext.getBean('myService')
    

    如果服务需要,替代方法对于 src/main/groovy 调用特别有用

    以不同的方式认为他们俩是同一件事

    【讨论】:

    • 谢谢,我已经尝试过了,但应用程序无法识别 Holders(使用 Grails 3.2)。我尝试了 Autowired 并且它有效!,如下所示: @Autowired private LoginAttemptService loginAttemptService 该服务已被声明为 Bean。问候。
    • 我猜你说的让我好奇,@Autowired 并不是什么新鲜事。 mrhaki.blogspot.co.uk/2013/02/…(2013)和这里stackoverflow.com/questions/33427697/…。这让我想知道您的侦听器可能与套接字侦听器的工作方式不同。
    猜你喜欢
    • 2012-01-30
    • 1970-01-01
    • 2016-09-02
    • 2017-07-27
    • 2013-02-06
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多