Grails autowire内置弹簧转换器

Grails autowire内置弹簧转换器,grails,Grails,我有这样的东西 class DomainConverter implements GenericConverter { private Class<Domain> classOfDomain; private Class<DomainCommand> classOfDomainCommand; public Set<GenericConverter.ConvertiblePair> getConvertibleTypes() {

我有这样的东西

class DomainConverter implements GenericConverter {
    private Class<Domain> classOfDomain;
    private Class<DomainCommand> classOfDomainCommand;
    public Set<GenericConverter.ConvertiblePair> getConvertibleTypes() {
        Set<GenericConverter.ConvertiblePair> convertiblePairs = new HashSet<GenericConverter.ConvertiblePair>();
        convertiblePairs.add(new GenericConverter.ConvertiblePair(classOfDomain, classOfDomainCommand));
        convertiblePairs.add(new GenericConverter.ConvertiblePair(classOfDomainCommand, classOfDomain));
        return convertiblePairs;
    }
    public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
        if (classOfDomain.equals(sourceType.getType())) {
            return this.convert((Domain) source);
        } else {
            return this.convertBack((DomainCommand) source);
        }
    }
    protected DomainCommand convert(Domain definition){
        ...
    }
    protected Domain convertBack(DomainCommand command){
        ...
    }
}
类DomainConverter实现GenericConverter{
私有类领域;
私有类域命令类;
公共集getConvertibleTypes(){
Set convertiblePairs=new HashSet();
添加(新的GenericConverter.ConvertiblePair(classOfDomain,classOfDomainCommand));
添加(新的GenericConverter.ConvertiblePair(classOfDomainCommand,classOfDomain));
返回可转换票据;
}
公共对象转换(对象源、类型描述符源类型、类型描述符目标类型){
if(classOfDomain.equals(sourceType.getType())){
返回此.convert((域)源);
}否则{
返回此.convertBack((DomainCommand)源代码);
}
}
受保护的域命令转换(域定义){
...
}
受保护域convertBack(DomainCommand命令){
...
}
}
我必须在类中连接它还是将它添加到resources.groovy中

如何创建DomainCommand,以便我仍然可以进行自动连接查看您可以看到bean声明的示例:

<bean id="conversionService"
      class="org.springframework.context.support.ConversionServiceFactoryBean"/>

<bean id="conversionService"
      class="org.springframework.context.support.ConversionServiceFactoryBean">
    <property name="converters">
        <list>
            <bean class="example.MyCustomConverter"/>
        </list>
    </property>
</bean>


因此,您需要在
resources.groovy
文件中声明转换器和转换服务。

非常正确,但我建议您在groovy文件中这样做,就像您提示的那样。相反(我就是这样做的)。XML文件有点过时:-)是的,我刚刚粘贴了Spring版本,以便您可以将其转换为Groovy DSL版本。