java - Spring Roo 和面向方面的编程

标签 java aop spring-roo

我一直在用 Spring Roo 进行一些我自己的实验,它看起来很酷,但我注意到这个工具在模型层大量使用了 AOP。

我正在考虑使用 Roo 创建一个真正的项目,我想知道的是:

  • 为什么 AOP 无处不在?可以吗?
  • 这种方法的优点和缺点是什么?

我对面向方面的编程还很陌生,非常感谢一些指导。

最佳答案

Spring 框架具有广泛的 AOP 功能,在基于 Roo 的应用程序中使用这些功能很有意义。 AOP 允许您在业务逻辑和系统逻辑之间进行漂亮而干净的分离。正确完成后,您将获得更易于维护和理解的代码库。

缺点是性能影响很小,但还不足以让我担心。

要了解有关 Spring 和 AOP 的更多信息,请查看 docs . Spring 将 AOP 用于诸如事务管理和异步操作之类的事情。

编辑:正如@chedine 正确指出的那样,AOP 是编译时编织的,因此通常的 AOP 性能损失不适用。

关于java - Spring Roo 和面向方面的编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3042860/

相关文章:

java - Hibernate 4.0 : javax. persistence.criteria.Path.get 在指定复合键字段时失败

java - mysql.jdbc.driver类未找到异常

java - 如果 AspectJ 中有多个按钮,如何捕获按钮单击?

java - 尝试使用 Java Spring AOP 抛出 "org.springframework.beans.factory.BeanCreationException"

java - spring roo条件数据库请求

java - 无法为连接 URL '' : Tomcat + MySQL + Spring MVC 创建类 'null' 的 JDBC 驱动程序

java - 按下按钮时如何调用二等舱?

ocaml - 我可以在 OCaml 中进行面向方面的编程吗?

java - 为什么我的 session ID 在我的 url 中?

mysql - 单独的数据库配置