9

我是 Spring 新手,我想澄清一下。我为私人机构开发了一个学生管理应用程序。它可以记录学生详细信息(地址、电话号码、注册课程、年级等)、课程详细信息、学生付款、报告生成模块、讲座详细信息等,

但是,我并没有使用太多的 AOP 来开发这个应用程序,除了日志记录这样的极少数情况。但据我所知,Spring AOP 是 Spring 的重要组成部分。我的问题是,AOP 是 spring 的重要组成部分,还是我错过了我应该使用它的地方(我猜我犯了新手错误,即不经常使用 AOP)?如果是这样,你能否澄清我应该在哪里使用这些概念,以便我可以从我的错误中吸取教训。

4

4 回答 4

8

我的观点是,如果您正在构建一个框架(如 spring),AOP 非常棒,因为它允许框架实现不会对框架用户产生太大影响的横切代码,例如在 spring 中:

@Transactional

服务类中的这一行代码调用重要的事务管理功能。

但是,对于普通的网络应用程序(例如),应谨慎使用自定义方面,因为:

  • 它们的可读性较差
  • 一种先进的技术,因此并非所有开发人员都会熟悉它们
  • 不完全支持工具(例如 checkstyle、PMD、findBugs 不支持方面),请参阅:代码分析工具和 Inter-Type-Declarations
于 2012-09-21T10:48:24.160 回答
4

我想这些年来我只在少数几个项目中积极使用过 AOP。在我使用 Spring 的工作中,与大多数其他 Spring 功能相比,我很少使用它。因此,我知道它以及它可以做什么,但我不担心我没有勾选那个特定的框。

了解它是什么以及它可以为您做什么是很有用的。然而,Spring 已经在为您工作,利用了这一点,您很可能已经在不知道它的情况下使用它!了解 AOP 及其工作原理是这里的主要问题。因此,听起来您已经涵盖了这一点。

于 2012-09-21T09:52:02.207 回答
3

据我所知,AOP 是 Spring 的重要组成部分

的,正如您已经在使用的那样AOP for logging,为了更好地理解 AOP,请在aop上阅读此处

基本上,aop 通过以下方式增加了应用程序的模块化separation of cross-cutting concerns.

比如它在transaction management logging等的时候帮助了你很多。

spring中的AOP使用:

  1. 提供声明式事务管理等声明式企业服务
  2. 允许用户实现自定义方面。

来源

据我了解,您可以在应用程序中使用事务管理。当您维护与学生相关的 、 等students记录course时。fee

于 2012-09-21T10:11:47.730 回答
2

Spring AOP 用于跟踪大型业务应用程序中用户的整个活动。
更像是使用 AOP 进行日志记录,我们可以识别用户使用的类和方法,如果任何方法中发生任何错误,开发人员或客户帮助人员可以很快发现问题,并且可以比读取日志文件更快地给出解决方案。

于 2012-09-21T12:09:53.617 回答