在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

文章:使用 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:501574

评论

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

快手封停多个内容侵权账号:如何严打短视频内容侵权行为

石头IT视角

建信金科大咖访谈:地方特色产业互联网建设思考与实践

金科优源汇

lockSupport怎么玩

卢卡多多

锁机制 6月日更

详解Redis主从复制原理

蘑菇睡不着

Java redis

5分钟速读之Rust权威指南(三十二)互斥体

wzx

rust

北鲲云超算平台如何加速生命科学研究

北鲲云

网络攻防学习笔记 Day59

穿过生命散发芬芳

网络攻防 6月日更

前端面试中有趣的题目(一)

空城机

JavaScript 大前端 6月日更

迪士尼将亚马逊云科技作为首选的公有云基础设施供应商,支持 Disney+ 全球扩展

亚马逊云科技 (Amazon Web Services)

为你的身份证“加盾”,鉴伪更精准,传输更安全

百度大脑

人工智能 数据安全 身份证

混合推荐系统介绍(二十二)

Databri_AI

推荐系统 计算

为什么很多时候,我们会感觉企业越大,效率越低呢?

石云升

职场经验 管理经验 6月日更

JavaScript中的Set数据操作:交集、差集、交集、对称差集

devpoint

set JavaScrip 6月日更

三个维度,透视5G价值的持续点亮之旅

脑极体

Dubbo 3.0.0 来了!还学得动吗?

青年IT男

dubbo

「2021中国峰会同行记」第二回 | 探索店匠从0到1出海的技术密码

亚马逊云科技 (Amazon Web Services)

领域驱动设计101 - 模块

luojiahu

领域驱动设计 DDD

python 连接钉钉传输工作数据监控

百里丶落云

《原则》(二十九)

Changing Lin

如何设计恒流源输出电路?

不脱发的程序猿

嵌入式 电路设计 硬件研发 恒流源输出电路

德勤基于Amazon WAF 云原生安全服务为客户交付价值

亚马逊云科技 (Amazon Web Services)

新常态下的CMDB系统规划与落地

云智慧AIOps社区

CMDB 智能运维

如何优雅的设计DWS层?

云祁

大数据 数据仓库 维度建模

前端 JavaScript 中 JSON.stringify() 的基本用法

编程三昧

JavaScript 大前端

「2021中国峰会同行记」第一回 | 与埃森哲一同追溯技术合力的本源

亚马逊云科技 (Amazon Web Services)

DNS劫持该如何处理

网络安全学海

程序员 运维 网络安全 信息安全 DNS

高性能计算与人工智能何处去?英特尔剑指XPU

E科讯

解放生产力,自动化生成Vue组件文档

vivo互联网技术

Vue 自动化 大前端 组件

人工智能应用架构的思考

金科优源汇

我是如何用 ThreadLocal 虐面试官的?

陈皮的JavaLib

Java 面试 多线程 ThreadLocal

百度AICA迎来毕业季,55位新晋“首席AI架构师”推进产业智能化

百度大脑

人工智能 百度 架构师

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