12

Is there a way to programatically list all available beans in the grails spring injection context? In guice I was able to do this by looking up the bindings configured in the injector.

benstpierre
  • 32,833
  • 51
  • 177
  • 288

1 Answers1

24

I use this:

ctx.beanDefinitionNames.sort().each { println it }

where ctx is the Spring ApplicationContext. You can get that in a controller/service/etc. with

def grailsApplication
...
def ctx = grailsApplication.mainContext

Given all of the bean names, you can inspect individual ones with

def bean = ctx.getBean(name)
Burt Beckwith
  • 75,342
  • 5
  • 143
  • 156