How do I get an instance of a Grails service programmatically? How do I get an instance of a Grails service programmatically? spring spring

How do I get an instance of a Grails service programmatically?


Since ApplicationHolder has been deprecated, this is another way to get the ApplicationContext:

ApplicationContext ctx = Holders.grailsApplication.mainContext 


The Grails documentation describes a way to get a service when in a servlet. This might be useful, if you can obtain the same objects in your context:

ApplicationContext ctx = (ApplicationContext)ApplicationHolder.getApplication().getMainContext();CountryServiceInt service = (CountryServiceInt) ctx.getBean("countryService");String str = service.sayHello(request.getParameter.("name"));