写点什么

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

评论

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

大厂必问Redis:肝完这份阿里出品“Redis神技”还说你不会Redis?

Java架构之路

Java 程序员 架构 面试 编程语言

中国区块链行业人才缺口将达75万以上

CECBC

区块链人才

新年Flag 中奖名单公布|如何科学的从55人中随机选出11个中奖名额

InfoQ写作社区官方

话题讨论 热门活动

限量!阿里甩出878页性能优化笔记阿里甩出878页性能优化笔记!

Java架构之路

Java 程序员 架构 面试 编程语言

「回血赠书」Python入门书单,新年全力扬帆

博文视点Broadview

量化交易自动炒币机器人系统开发搭建

薇電13242772558

策略模式 区块链+

数字人民币支付新选择 没有网络时也能使用

CECBC

数字红包

【函数计算实践】阿里云函数计算初探

程序员架构进阶

阿里云 架构 函数计算 28天写作 弹性扩容

Kubernetes安装篇(上):基于Minikube方式部署本地环境

xcbeyond

Kubernetes 安装 minikube 28天写作 Kubernetes从入门到精通

一文带你学会AQS和并发工具类的关系2

伯阳

Java AQS 多线程 lock

没搞清楚网络I/O模型?那怎么入门Netty

Java 后端 io

[如果公司要招一个高级版你]给资深/晋升后的岗位写一个理想岗位模型(Job Model)

Geek_lot02c

产品经理训练营

基础篇-http协议《http 简介、url详解、request》

清菡软件测试

测试

CopyOnWriteArrayList 读写分离,弱一致性

叫练

弱一致性 读写分离; Vector; fail-fast; fail-safe

运维数智化时代——京东数科AIOps落地实践(一)

京东科技开发者

运维自动化 AIOPS

现在就开始倒数2030了? 华为的这条线索不能错过

脑极体

云原生 DevOps 的 5 步升级路径

阿里巴巴云原生

Serverless 容器 DevOps 微服务 云原生

怎么提升写代码的能力

阿里巴巴云原生

程序员 个人成长 方法论 云原生 自我思考

SpringCloud 从入门到精通 12---Nacos配置中心

Felix

安装Android系统 missing operating system

mengxn

android

案例研究之聊聊 QLExpress 源码 (九)

小诚信驿站

聊聊架构 28天写作 QLExpress源码 聊聊源码

给现实深情拥抱,向产业洪流奔跑:华为云AI的2020

脑极体

案例集锦|科技赋能,华为云GaussDB助千行百业数字化转型

华为云开发者联盟

数据库 华为云 企业应用

中国工业的基础设施“重化工业”是怎么发展起来的

JiangX

供应链 工业 28天写作 制造

dubbo-go 白话文 | 从零搭建 dubbogo 和 dubbo 的简单用例

阿里巴巴云原生

Java 云原生 dubbo 中间件 dubbogo

给跨专业程序员的一些建议

Ryan Zheng

限量!腾讯高工用4部分讲清楚了Spring全家桶+微服务

996小迁

Java 架构 面试 springboot SpringCloud

基于gRPC的注册发现与负载均衡的原理和实战

万俊峰Kevin

微服务 go-zero Go 语言

架构师训练营第八周作业

zamkai

有内味了!阿里内部Tomcat高阶调优笔记成功刷新了我的认知

Java架构之路

Java 程序员 架构 面试 编程语言

区块链农产品溯源--实现农产品全程溯源

CECBC

食品溯源

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