Clear separation of roles – There is a specialised dedicated object for every role.
Reusable business code logic – With Spring MVC, there is no need for duplicating the code. Existing objects can be used as commands instead of replicating them in order to extend a particular framework base class.
Spring MVC framework provides customizable binding and validation.
Also provides customizable locale and theme resolution.
Spring MVC supports customizable handler mapping and view resolution too.