This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The nutshell version is that instead of an S2 action instantiating and using an implementation, like this:actions will instead allow the implementation to be instantiated and injected by Spring. This is generally defined in a configuration file, but there are other ways. So the code would look more like this:Amongst other things, this means that the action can now be tested with various user service implementations--like one that always fails login, one that always succeeds, or one that succeeds/fails based on user information, whatever.