【问题标题】:Should I use Spring AOP? [closed]我应该使用 Spring AOP 吗? [关闭]
【发布时间】:2012-09-21 09:44:22
【问题描述】:
我是 Spring 新手,我想澄清一些关于它的事情。我为私人机构开发了一个学生管理应用程序。它可以记录学生详细信息(地址、电话号码、注册课程、年级等...)、课程详细信息、学生付款、报告生成模块、讲座详细信息等,
但是,我并没有使用太多的 AOP 来开发这个应用程序,除了日志记录等极少数情况。但据我所知,Spring AOP 是 Spring 的重要组成部分。我的问题是,AOP 是 spring 的重要组成部分,还是我错过了我应该使用它的地方(我猜我犯了新手错误,即不经常使用 AOP)?如果是这样,您能否澄清我应该在哪里使用这些概念,以便我可以从错误中吸取教训。
【问题讨论】:
标签:
java
spring
spring-mvc
【解决方案1】:
我的观点是,如果您正在构建一个框架(如 spring),AOP 非常棒,因为它允许框架实现不会对框架用户产生太大影响的横切代码,例如在 spring 中:
@Transactional
服务类中的这一行代码调用重要的事务管理功能。
但是,对于普通的网络应用(例如),应谨慎使用自定义方面,因为:
【解决方案2】:
我想这些年来我只在少数几个项目中积极使用过 AOP。在我使用 Spring 的工作中,与大多数其他 Spring 功能相比,我很少使用它。因此,我知道它以及它可以做什么,但我不担心我没有勾选那个特定的框。
了解它是什么以及它可以为您做什么是很有用的。然而,Spring 已经在为您工作,利用这一点,您可能已经在使用它而不知道它! 了解 AOP 及其工作原理是这里的主要问题。因此,听起来您已经了解了这一点。
【解决方案3】:
据我所知,AOP 是 Spring 的重要组成部分
是的是的,
由于您已经在使用AOP for logging,为了更好地理解 AOP,请阅读此处aop
基本上,aop 通过separation of cross-cutting concerns. 增加了应用程序的模块化
比如在transaction management logging等时候对你有很大帮助。
AOP在spring中使用:
- 提供声明式企业服务,例如声明式事务管理
- 允许用户实现自定义方面。
source
据我了解,您可以在应用程序中使用事务管理。当您维护与学生相关的students、course、fee 等的记录时。
【解决方案4】:
Spring AOP 用于在大型业务应用程序中跟踪用户的整个活动。
更像是使用 AOP 进行日志记录,我们可以识别用户使用的类和方法,如果任何方法发生任何错误,开发人员或客户帮助人员可以很快发现问题并且可以比阅读日志文件更快地给出解决方案。