2010-06-22 56 views
0

在grails文档中,我读到了(根据命名约定)服务器类的实现会自动布线。如何在春季使用AutoWire时处理新的实现?

如果这是真的,那么如果你有一个新的实现方法,那么如何覆盖这种行为呢?

我们有选择吗?像:

  1. 使用@annotations
  2. ,如果你不想重新编译,将条目添加到XML

回答

1

我假设“服务器级”是为了分型为“服务班”和“布” - >“是”?

如果这些假设是正确的:是的,它们是自动装配的。

你创建你的grails-app/services目录名为UserService一个Grails服务,您可以通过它注入到控制器:

def userService 

您可以使用Spring DSL在resources.groovy覆盖此行为文件放在你的grails-app/conf/spring目录下。或者,如果您更喜欢XML,则可以在grails-app/conf/spring中添加resources.xml文件来配置Spring Bean。

+0

使用注释怎么样? – Blankman 2010-06-23 00:01:35

+0

这是一个有趣的问题,我真的不确定答案。我假设你的意思是在注入服务的类中使用类似@Qualifier的东西。我会考虑这样一个事实,即我没有遇到过这个约定优于配置的证明。 :)到目前为止,byName autowiring对我来说已经足够了。现在我很好奇,如果我有一些停机时间,看看它是否像更新配置和导入Spring注解一样简单,我将不得不明天做几个实验。 – proflux 2010-06-23 00:54:46

+0

在spring-mvc中,你可以使用注释,所以我认为它和grails是一样的。 – Blankman 2010-06-23 14:38:47