我一直在用 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/