写点什么

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

评论

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

养成好习惯,需要的不只是意志力

Justin

习惯养成 碎碎念 28天写作

ThreadLocal 类以及应用技巧

武哥聊编程

Java 多线程 ThreadLocal 28天写作

产品训练营第二周作业-利益相关者

马悦

产品 产品经理训练营

产品经理第四周

克比

深入Linux内核之自旋锁spinlock_t机制

赖猫

c++ Linux内核

黑客练手入门| pwnable.kr—幼儿瓶—02:collision

BigYoung

安全 CTF PWN 28天写作 2月春节不断更

如果非要在多线程中使用ArrayList会发生什么?

看山

线程安全

Linux 文件搜索神器 find 实战详解,建议收藏!

鞋子特大号

Linux find

开发质量系列:系统运营必须派人常驻机房吗?

罗小龙

最佳实践 方法论 28天写作 2月春节不断更

28天写作

lidaobing

28天写作

28天写作复盘

一笑

28天写作

面试时遇到一致性哈希算法这样回答会让面试官眼前一亮

中间件兴趣圈

负载均衡 面试 一致性哈希

写在“28天坚持写作活动”的最后一天

JiangX

28天写作

MyBatis入门

小马哥

Java mybatis 七日更 2月春节不断更

机器学习笔记之:Matrix Vector Multiplication

Nydia

智能汽车颠覆世界!(28天写作 Day28/28)

mtfelix

28天写作 智能汽车 未来世界

数据主权,才是业务在线化的核心

boshi

数据 数字资产 七日更

有用的信息安全资质查询网站大全

石君

信息安全 28天写作

阿里Java面试脑图遭公开,GitHub上已获赞79.6K

Java架构师迁哥

《我们一起学集合》-LinkedList

蚊子

Java 数据结构 面试 集合 linkedlist

【Linux系统】一个常驻进程问题的再次分析

程序员架构进阶

Linux 七日更 28天写作 2月春节不断更 共享内存

下不了的开人的手

Ian哥

28天写作

浪潮云洲工业互联网平台创新实践,受权威机构关注!

工业互联网

Linux Lab 进阶: Linux 内核

贾献华

Linux Linux Kenel 内核

28天瞎写的第二百三十八天:这一年干了啥?

树上

28天写作

怎么一本正经地秀技

codevald

Java jdk

“嗖”一下28 天过去啦,我们都在交作业!

李忠良

28天写作

【LeetCode】子数组的最大平均数

Albert

算法 LeetCode 2月春节不断更

管理笔记[8]:管理中的聚势、借力与计划

L3C老司机

谈谈我所理解的科幻「-28/28」

道伟

28天写作

CDN加速原理的那些事

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