2010-02-16 72 views
10

我有一個外部數據源,它將返回一個字符串,指出要使用的Grails服務的名稱。如何以編程方式獲取Grails服務的實例?

以編程方式獲得服務實例的語法是什麼語法?

即。給定'GoogleWeather',給我一個GoogleWeatherService的實例。

謝謝!

回答

17

The Grails documentation描述了一種在servlet中獲得服務的方法。這可能是有用的,如果你能得到你的背景下,相同的對象:

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

這就是我到底是什麼尋找!謝謝 – Thody 2010-02-16 22:04:00

23

由於ApplicationHolder已被棄用,這是另一種方式來獲得的ApplicationContext:

ApplicationContext ctx = Holders.grailsApplication.mainContext 
相關問題