javaaopspring-roo

Spring Roo and aspect-oriented programming


i've been running some experiments of my own with Spring Roo and it seems to be pretty cool, but i noticed that this tool makes heavy use of AOP on the model layer.

I'm thinking about creating a real project using Roo and what i would like to know is:

I'm quite new to aspect-oriented programming and some guidance would be greatly appreciated.


Solution

  • 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.