Injecting service into Grails Atmosphere Handler c

2019-07-23 18:11发布

问题:

I have an NotificationsAtmosphereHandler as an Atmosphere framework handler class in my Grails application. I would like to use springSecurityService service inside of it. How I can inject service object into my handler class?

def springSecurityService

The usual service injection does not work.

回答1:

resources.xml:

 <bean id="notificationsAtmosphereHandler" class="your.package.NotificationsAtmosphereHandler"/>

in class:

class NotificationsAtmosphereHandler {
  .....
  @Autowired
  SpringSecurityService springSecurityService
  .....
} 


回答2:

or rather do it the Groovy way in your resources.groovy:

import package.NotificationsAtmosphereHandler

//...

notificationsAtmosphereHandler(NotificationsAtmosphereHandler) { bean ->
    bean.autowire = 'byName'
}

this way, you don't need the @Autowired notation also.