在resources.xml中声明的bean也可以通过约定来引用Grails类 .
比如, 如果你想在你的bean中引用 BookService这样一个service,你可以用如下的代码:<bean id="myBean" class="my.company.MyBeanImpl">
<property name="bookService" ref="bookService" />
</bean>这个bean本身需要一个 public setter方法,在Groovy中这样定义:package my.company
class MyBeanImpl {
BookService bookService
}或在Java中:package my.company;
class MyBeanImpl {
private BookService bookService;
public void setBookService(BookService theBookService) {
this.bookService = theBookService;
}
}既然大部分Grails配置都是在运行时通过约定机制来完成,大部分bean并不需要声明, 但仍然可以在Spring应用中进行引用.
如你需要引用一个Grails DataSource 你可以这样:<bean id="myBean" class="my.company.MyBeanImpl">
<property name="bookService" ref="bookService" />
<property name="dataSource" ref="dataSource" />
</bean>或者你需要引用Hibernate SessionFactory:<bean id="myBean" class="my.company.MyBeanImpl">
<property name="bookService" ref="bookService" />
<property name="sessionFactory" ref="sessionFactory" />
</bean>所有提供的bean既说明可参考插件开发文档.