Grails 1.1 Service 层依赖注入与服务 - 依赖注入基础

Grails服务的一个重要方面是,有能力利用 Spring 框架 的依赖注入能力。

Grails支持 “依赖注入通过规约”. 换句话说,你可以使用一个属性名表示的一个服务的类名,自动把他们注入到 controllers, tag libraries,等等。

作为示例,给定的服务名为BookService, 如果你像下面这样在controller中放置一个名为bookService 的属性:class BookController { def bookService … }在这种情况下,Spring 容器将自动注入一个基于它自己配置作用域的服务实体。

所有的依赖注入是通过名字的; Grails 不支持类型注入。

你也可以像下面这样指定类型:class AuthorService { BookService bookService }不过, 存在副作用,即在开发模式下BookService的改变会在加载时抛出一个错误。