基于Spring的应用程序设计与实现
在应用程序开发中,Spring框架发挥着重要作用。之前我们探讨了Spring应用开发的多个主题,包括ApplicationContext配置、依赖注入机制、面向切面编程(AOP)对横切关注点的支持,以及Spring与不同数据访问技术的集成以与后端关系数据库交互。在讨论数据访问逻辑实现时,我们看到了不同的实现模式,如在使用JDBC进行数据访问时,数据访问逻辑封装在数据访问对象(DAO)中;而在讨论Java持久化API(JPA)和MyBatis时,我们消除了DAO层,将JPA的EntityManager和MyBatis的映射器接口直接注入到服务层。同时,我们也提到了领域对象(在JPA中称为实体类)的设计,以及如何将其属性和关系建模并映射到数据库结构。
1. 设计要点概述
在深入设计基于Spring的应用程序之前,我们先探讨一些设计和实现此类应用的主要原则。我们将关注一些经过实践检验的面向对象编程(OOP)实践,这些实践能使应用程序的组件职责明确,易于测试和维护。同时,我们会研究Spring对应用程序设计的影响,特别是那些在使用Spring构建应用时易于应用的模式和实践。我们以SpringBlog应用程序为例,讨论应用程序设计原则,以及如何使用Spring技术实现该应用的数据访问层和服务层。具体内容包括:
- 接口驱动设计 :这是传统OOP的最佳实践,应用程序的主要组件通过接口而非具体类来定义。Java通过接口的概念为这种设计提供了一流的支持。
- 构建领域对象模型 :领域对象模型(DOM)是一组对象的集合,为应用程序问题域中的数据提供抽象模型。通过为应用程序创建DOM,我