Spring Roo and aspect-oriented programming

The Spring Framework has extensive AOP capabilities, and it makes sense to use these in Roo-based applications. AOP allows you to make a nice and clean separation between business logic and system logic. When done properly, you get a more maintainable and understandable codebase.

The disadvantage is a small performance hit, but not enough of one to make me worry about it.

To learn more about Spring and AOP, have a look at the docs. Spring uses AOP for things like transaction management and asynchronous operations.

edit: As @chedine rightly pointed out, the AOP is compile-time weaved, so the usual AOP performance hit does not apply.


I think, there will not be a performance hit in case of Spring ROO. Since it uses compile time weaving and all aspects are introduced during compile time.