写点什么

文章:使用 Spring 框架和 AOP 实现动态路由

  • 2007-07-31
  • 本文字数:755 字

    阅读完需:约 2 分钟

本文的大体思路是展示了一次业务交易如何动态地为子系统处理过程触发业务事件。本文所示的例子使用 Spring 框架和 Spring AOP 有效地解耦业务服务和子系统处理功能。

本文涉及到了几个非常重要的概念,比如数据访问对象(DAO)设计模式和面向方面编程(AOP)等。DAO 实际上是将持久库存取和操作代码封装到一个单独的层次,也就是在业务逻辑层和持久存储层之间引入一个抽象层。这样就大大简化了应用代码并提高了灵活性。理想情况下,对数据源所做的变动,仅仅需要改变数据访问对象就可以,从而实现了对业务对象的最小影响。Vigil 分析了 DAO 设计模式所提供的灵活性背后的原因:

DAO 设计模式所提供的的灵活性主要被归因于对象设计的最佳实践:用接口编程。该原则规定了具体对象必须实现一个接口,在调用程序中使用该接口而非具体对象本身。因此,你可以容易地替换一个不同的实现,而对客户端代码冲击很小。

AOP 是本文提到的另外一个非常重要的概念。其实 AOP 近几年来一直为技术社区所重视,因为通过 AOP 可以帮助程序员在一个单独的 Aspect 模块中表达横向切面关注点,从而解决因为在程序中引入关注点而使代码被分散和缠结、难于理解和维护的情况。对本文提到的 Spring AOP,作者也分析了它的优点:

Spring AOP 用纯 Java 实现。不需要特殊编译处理。AspectJ 需要特殊编译处理。Spring AOP 不需要控制各层级类装载器,因而适合用在 J2EE web 容器或应用服务器中。Spring 2.0 还提供了与 AspectJ 的紧密集成。

关注点分离是开发面向服务架构的关键原则。它需要被分别应用到基础架构层和实现层。本文示范了如何使用 Spring 框架的依赖注入原则和 AOP 特性分离出横向切面关注点。正如作者在例子代码中所表达的,使用这一方法能让我们把处理服务每个关注点的代码的交叉依赖减到最小。

查看全文:使用 Spring 框架和 AOP 实现动态路由

2007-07-31 01:501096

评论

发布
暂无评论
发现更多内容

JavaWeb 项目服务器部署详细教程(MySQL + JDK + Tomcat)

若尘

MySQL jdk javaWeb java编程 6月日更

JVM读书笔记

hasWhere

校友会小程序开发笔记六:校友活动聚会功能模块设计与实现

CC同学

校友录小程序

log4j日常使用

hasWhere

实测 Google 全同态加密FHE,效果如何?

瑚琏

机器学习 隐私计算 多方安全计算 富数科技 Avatar2.0

直呼内行!阿里大佬离职带出内网专属“Spring Security Oauth2.0”学习笔记

Java 程序员 架构 面试 微服务

MySQL基础之十六:视图、DBA命令和三范式

打工人!

MySQL 6月日更

我以为我对Mysql很熟,直到遇到了阿里这份笔记

Java架构师迁哥

java文件读写

hasWhere

新员工最想要的10件事

hasWhere

校友会小程序开发笔记八:校友相册功能模块设计与实现

CC同学

校友录小程序 同学录小程序

校友会小程序开发笔记七:校友互助功能模块设计与实现

CC同学

校友录小程序 同学录小程序

阿里首次公布 Java10W 字面试复盘笔记,面面俱到、太全了

Java 程序员 架构 面试

区块链赋能农业振兴,农产品溯源系统

13530558032

作为一名Android工程师,我们能为Fuchsia OS与鸿蒙OS做点什么

Changing Lin

【得物技术】得物WMS如何助力仓库拣货

得物技术

供应链 商品 仓库 供应链物流 仓储

5分钟速读之Rust权威指南(二十五)Deref

wzx

rust

缓存在哪-HTTP缓存原理介绍

hasWhere

恭喜埃文科技入选“创新能力百强企业”!

郑州埃文科技

Zilliz 陈室余:女性的独特洞察,可能为开源发现新机遇 | ECUG Meetup 讲师专访

七牛云

数据库 开源 音视频 Meetup Milvus

干货|车来了APM应用性能体验实践

APM App 稳定性 APP稳定性

「区块链+游戏」背后能否诞生下一个腾讯?

CECBC

华为新员工入职180天详细培训计划

hasWhere

web.xml文件中的7个错误的安全配置

hasWhere

Bzz矿机分币APP,深圳云矿机系统开发

区块链电子合同技术方案,区块链电子合同平台

13530558032

Bzz节点云矿机分币系统开发,云算力矿机租赁

阿里13年算法坚守者为你总结AI创新经验

阿里巴巴大淘宝技术

人工智能 AI 算法

Java各种场景获取路径

hasWhere

VideoLab - 高性能且灵活的 iOS 视频剪辑与特效框架

Bear

开源 视频处理 Metal 视频特效 AVFoundation

无需JavaScript可以实现的9个网页功能

devpoint

html5 html/css 6月日更

文章:使用Spring框架和AOP实现动态路由_Java_霍太稳@极客邦科技_InfoQ精选文章