实际上Grails是变相的 Spring MVC 应用. Spring MVC是Spring框架内置的 MVC web 开发框架.虽然从易用性来说Spring MVC比不上Struts这样的框架,但它的设计和架构都非常优秀,正适合在其基础之上构建另一个像Grails这样的框架。
Grails在以下方面利用了Spring MVC:
• 基本控制器逻辑 - Grails继承Spring 的 DispatcherServlet 并使用它作为代理将请求转发给 Grails的控制器
• 数据绑定和校验 - Grails的校验 和 数据绑定正是建立在Spring的数据绑定和校验之上
• 运行时配置 - Grails的整个"约定优先配置"机制全部用Spring来实现ApplicationContext
• 事务处理 - Grails GORM使用Spring的事务处理也就是说Grails内嵌Spring并在框架的各个环节上使用Spring.