【发布时间】:2015-07-24 07:39:34
【问题描述】:
将什么术语添加到 AOP 中,因此我们称其为横切关注点。 拦截器和 AOP 的区别。
-这个问题是关于 AOP 和 Interceptor 的少量讨论,但请详细说明。
【问题讨论】:
-
可能的答案太多,或者对于这种格式来说,好的答案太长了。请添加详细信息以缩小答案范围或隔离可以在几段中回答的问题。
标签: spring spring-aop
将什么术语添加到 AOP 中,因此我们称其为横切关注点。 拦截器和 AOP 的区别。
-这个问题是关于 AOP 和 Interceptor 的少量讨论,但请详细说明。
【问题讨论】:
标签: spring spring-aop
Interceptors 是 Spring 框架的一部分,它允许您通过拦截路由之间的请求/调用来编写逻辑。 Spring中的Interceptors主要有2种。
Handler Interceptors,出现在 Spring MVC 框架中,用于包含 Web 请求的拦截器逻辑,而 Method Interceptors,在 Spring AOP 框架中,本质上是通用的,不仅限于拦截 HTTP 请求。
在比较AOP 和Interceptors 时,我可以用一句话说,这些Method Interceptors 是在AOP 中编写aspects 背后的基本理解。
AOP,又名面向方面的编程,是一个有点复杂的主题,需要在 StackOverflow 的答案中进行解释。我建议您在进入面向方面编程之前在互联网上阅读并熟悉基础知识和AOP 术语。
以下是了解 Spring AOP 中的动态代理及其基础的一个很好的资源。
Understanding Dynamic Proxy: Spring AOP Basics
更新
Wikipedia 有一个非常简单但有效的横切关注点定义和示例。
在面向方面的软件开发中,横切关注点是 影响其他问题的程序方面。这些顾虑往往 不能从系统的其余部分干净地分解 设计和实现,并可能导致任何散射(代码 重复),缠结(系统之间的重要依赖关系),或 两者都有。
例如,如果编写一个处理医疗记录的应用程序, 这些记录的索引是一个核心问题,同时记录一个 记录数据库或用户数据库的更改历史记录,或 身份验证系统,将是横切关注点,因为它们 触摸程序的更多部分。
TutorialsPoint 的 article 以非常简单的方式描述了 Spring Framework 的 AOP,这将帮助您熟悉 Spring AOP 的所有基本术语。
【讨论】: