Grails 2.4.5在这里。我做了一个grails create-service com.example.service.Simple
它创造了一个SimpleService
对我来说,我再修改,看起来像这样:配置和注入Grails服务
class SimlpeService {
SimpleClient simpleClient
Buzz doSomething(String derp) {
// ...
Fizz fizz = simpleClient.doSomething(derp)
// ...
fizz.asBuzz()
}
}
我现在可以“注入”控制器与SimpleService
像这样:
class MyController {
SimpleService simpleService
def index() {
// etc...
}
}
但我怎么使用正确的SimpleClient
实例配置/连线SimpleService
。让我们假设SimpleClient
通常是建立像这样:
SimpleClient simpleClient = SimpleClientBuilder
.withURL('http://simpleclientdev.example.com/simple')
.withAuth('luggageCombo', '12345')
.isOptimized(true)
.build()
根据我在什么样的环境,我可能希望我SimpleClient
实例连接simpleclientdev.example.com
,simpleclientqa.example.com
,甚至simpleclient.example.com
。此外,我可能会使用不同的身份验证凭据,我可能不希望它被“优化”等。关键是:如何将SimpleService
与SimpleClient
实例注入?
为什么不创建一个服务来配置并返回一个'SimpleClient',根据你的配置为你的环境配置(例如'Config.groovy')?这就是我接近它的方式...... –