在grails中注入(inject)依赖的不同方式有什么区别:
- ABCService abcService
def abcService
@Autowired ABCService ABCService
最佳答案
- 如果服务名称为
abcService
,则指定预期类型(或具有此类名称的其他 Spring bean)将具有不同的class
,那么你会得到ClassCastException
这里 - 任何名为
abcService
的 bean - Spring注解,可选。但是如果你标记了一个字段,但 Grails/Spring 找不到这样的 bean,它会抛出
NoSuchBeanDefinitionException
(如果不存在,前两个将得到null
)@Autowired
可以与def
结合使用还键入
基本上,Grails 服务是标准 Spring beans,Grails 只是遵循 convention over configuration
对于 services
中的每个类(class)dir 它将创建一个名为 abcService
的 bean可以自动连接到其他 bean 中。所有其他工作都由 Spring 完成。另请参阅 Spring and Grails 的文档
关于Grails-grails中不同的依赖注入(inject)方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26606168/