Grails-grails中不同的依赖注入(inject)方式

标签 grails service inject

在grails中注入(inject)依赖的不同方式有什么区别:

  1. ABCService abcService
  2. def abcService

  3. @Autowired ABCService ABCService

最佳答案

  1. 如果服务名称为 abcService,则指定预期类型(或具有此类名称的其他 Spring bean)将具有不同的 class ,那么你会得到ClassCastException这里
  2. 任何名为 abcService 的 bean
  3. 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/

相关文章:

android - android中的可 sleep 后台服务

grails - gson中的渲染命令对象

grails - grails如何在标签库中输出消息

java - 带有 grails 的 Docx4j。将 HTML 转换为 Word 文档

c# - SharePoint - 如何使用列表 Web 服务插入新项目?

service - PostgreSQL 9.2.4 (Windows 7) - 服务无法启动, "could not load pg_hba.conf"

java - Jersey 2 中的两个自定义注入(inject)注释

ios - 台风注入(inject)属性

android - 如何使用 ButterKnife 注入(inject) ViewStub?

grails - grails:一个字段,多个类