我应该使用Spring AOP吗?

时间:2012-09-21 09:44:23

标签: java spring spring-mvc

我是Spring的新手,我想澄清一下它。我为私立学院开发了学生管理申请。它可以记录学生的详细信息(地址,电话号码,注册课程,成绩等...),课程详情,学生付款,报告生成模块,讲座详情等,

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

4 个答案:

答案 0 :(得分:5)

我的观点是,如果你正在构建一个框架(比如spring),AOP是很棒的,因为它允许框架实现不会对框架用户产生很大影响的交叉代码,例如在spring:

@Transactional

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

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

答案 1 :(得分:3)

我认为多年来我只在少数几个项目中积极使用过AOP。在我使用Spring的工作中,我很少使用它与大多数其他Spring功能相比。因此,我意识到它以及它能做什么,但我不担心我没有勾选那个特定的盒子。

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

答案 2 :(得分:3)

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

是的, 正如您已使用AOP for logging一样,为了更好地理解AOP,请阅读aop

基本上,aop通过separation of cross-cutting concerns.

增加了应用程序的模块化 在transaction management logging

时,它帮助了你很多。

使用弹簧中的

AOP

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

    根据我的理解,您可以在应用程序中使用事务管理。因为您正在维护与学生相关的studentscoursefee等记录。

答案 3 :(得分:1)

Spring AOP用于跟踪大型企业应用程序中用户的整个活动。
更像是使用AOP进行日志记录,我们可以识别用户使用的类和方法,如果在任何方法中发生任何错误,开发人员或客户帮助者都可以识别问题很快就可以提供解决方案,而不是阅读日志文件。