The main advantage of using the Spring DSL is that you can now mix logic in within your bean definitions, for example based on the environment :
import grails.util.*
beans {
switch(GrailsUtil.environment) {
case "production":
myBean(my.company.MyBeanImpl) {
bookService = ref("bookService")
}
break
case "development":
myBean(my.company.mock.MockImpl) {
bookService = ref("bookService")
}
break
}
}