时隔16年Jeff Barr重返10.23-25 QCon上海站,带你看透AI如何重塑软件开发! 了解详情
写点什么

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

评论

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

如何高效交付专有云?百度智能云有妙招

百度大脑

NodeJS事件循环

真嗣

前端 nodejs 事件循环 eventloop

学生管理系统-详细架构设计文档

AragornYang

架构训练营 架构实战营

【架构师训练营】模块八作业

樰巳-堕~Horry

架构实战营 「架构实战营」

外包学生管理系统架构设计文档

石小天

「架构实战营」

「架构实战营」模块三作业 外包学生管理系统架构设计

hxb

「架构实战营」

"5G通达,AI赋能" AI在网络规划中的应用实践

百度大脑

内网安全-记一次内网靶机渗透

网络安全学海

黑客 网络安全 信息安全 渗透测试

PaddleOCR 部署实战之Java&C#方案直播分享来啦

百度大脑

全国人工智能师资培训班·上海站火热招生中

百度大脑

外包学生管理系统架构设计文档

smile

掉入成功的深渊

Shinta

博文干货|在 Kotlin 中使用 Apache Pulsar

Apache Pulsar

开源 架构 云原生 kotlin Apache Pulsar

Go自定义DNS解析器负载均衡实践

FunTester

HTTP 接口测试 DNS Go 语言 FunTester

学生管理系统架构设计文档

Bear

「架构实战营」

[架构实战营]-外包学生管理系统架构设计

邹玉麒

「架构实战营」

使用 Solidity、Web3 和 Vue.js 创建区块链游戏

devpoint

dapp NFT Solidity 2月月更

DDD实战(2):看看代码结构长啥样

深清秋

DDD 软件架构 生鲜电商系统

云计算架构设计6大原则,你遵循了吗?

博文视点Broadview

中远海运集团总经理付刚峰率队访问百度 双方将加强合作

百度大脑

模块三作业

Mr小公熊

重学架构之外包学生管理系统架构设计文档

陈华英

架构实战营

外包学生管理系统架构

浪飞

人类的AI调校计划:像个淑女,或者硬汉

脑极体

G1 面向服务端(多CPU)应用的垃圾回收器

蜜糖的代码注释

Java 垃圾回收器 2月月更

学生管理系统 - 详细设计方案

tom

模块三作业

blazar

「架构实战营」

外包学生管理系统架构设计文档

「架构实战营」

模块三作业

Leo

基于Qt设计的学生考勤系统

DS小龙哥

2月月更

系统学习 TypeScript(三)——基础类型

编程三昧

typescript 前端 2月月更

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