Grails中的Spring别名有问题。我有一个库.jar文件包含类和Spring配置不能按预期工作。当我从标准(无Grails)Java应用程序导入它时,它确实按预期工作。
当前配置包含此内容。
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="uk.co.company.package"/>
</bean>
<alias name="marshaller" alias="unmarshaller"/>
失败并出错。
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'unmarshaller' is defined
将配置更改为以下内容,然后使其按预期工作。
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="uk.co.company.package"/>
</bean>
<bean id="unmarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="uk.co.company.package"/>
</bean>
正在导入并正在读取配置。出于某种原因,当我尝试使用它时,别名不可用。那是什么原因?
这是Grails 1.3.7和Spring 3.0.5。
答案 0 :(得分:4)
我也看到了这个问题。你可以通过在Grails resources.xml中定义别名或者在我的插件doWithSpring闭包中来解决它:
springConfig.addAlias "aliasName", "beanName"
我希望importBeans也能导入别名
答案 1 :(得分:1)
此链接可能对您有所帮助: http://burtbeckwith.com/blog/?p=85
在那里提到别名至少在resources.xml中声明时不起作用。该帖还提到了一种以编程方式声明别名的方法。但似乎这篇文章写了一段时间,并不确定它与grails 1.3.7的相关性。