深入理解Spring、事务、事件、消息传递与调度
1. Spring与Grails的集成及事务处理
Spring是Grails的基础组成部分。在开发简单应用时,即便未意识到Spring的存在,也能顺利完成开发。但随着应用规模的扩大,应充分利用Spring,Grails提供的服务和自动依赖注入(DI)使这一过程变得轻松。
当使用Java库并将应用与其他Java系统集成时,服务可能无法满足需求。此时,需要使用resources.xml和resources.groovy文件定义自己的Bean,以便将其轻松融入各种Grails组件中。若进行此类集成,建议通过在线文档或书籍深入了解Spring。
Grails的事务支持是Spring带来的重要特性之一,使用起来非常便捷。在编写对数据库进行更新操作的应用时,应熟悉事务及其对可靠保存和修改域对象的影响。以下是一些项目建议:
-将业务逻辑放入服务中:这符合关注点分离的设计原则,使代码更易理解、维护和测试,还能方便地用于Web服务网关、远程接口等。
-将重要的单例对象设为Spring Bean:生命周期管理和DI使单例对象成为Spring Bean后受益匪浅。使用resources.*文件为src目录下或JAR文件中的类定义Bean。
-优先使用Spring DSL:无论是否喜欢XML,在代码中定义Spring Bean具有诸多优势,支持条件、循环和特定环境的定义。 <