Grails服务是用于在控制器外部实现业务逻辑(以及连接到支持服务/ DB等)的抽象.所以在典型的控制器中你可能有:
class DashboardController {
StatisticsService statsService
def index() {
// Fetches all the stats that need to be displayed to the
// admin on the dashboard.
AdminDashboardMetrics adm = statsService.getAdminStats()
render(view: "/dashboard", model: [ adm: adm ])
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,Grails自动注入DashboardController一个bean实例StatisticsService(当然提供服务是否正确创建grails create-service ...).
但是当我需要在控制器StatisticsService 外部访问时会发生什么,特别是在src/groovy?
// src/groovy/com/example/me/myapp/FizzBuzzer.groovy
class FizzBuzzer {
StatisticsService statsService
FizzBuzzer(StatisticsService statsService) {
super()
this.statsService = statsService
}
def doSomething(MyData input) {
MoreData result = statsService.calculate(input)
// use …Run Code Online (Sandbox Code Playgroud)