向微服务和云原生应用程序进化
4.1 使用Spring的典型Web应用程序架构
- Web层:这一层通常负责控制Web应用程序流(控制器或前端控制器)并渲染视图。
- 业务层:所有业务逻辑都是在这一层编写的。大多数应用程序从业务层开始进行事务管理(事务管理可以使用Spring AOP或AspectJ来实现)。
- 数据层:这一层负责检索Java对象中的数据并将它们持久化到数据库表中。此外,它还负责与数据库进行交互。
- 集成层:应用程序需要通过队列或通过调用Web服务与其他应用程序交互。集成层负责与其他应用程序建立此类连接。
- 横切关注点应用于所有层,横跨不同层的关注点,如日志记录、安全性、事务管理等。由于Spring IoC容器负责管理bean,它可以通过面向切面编程(AOP)将这些关注点织入bean。