This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori 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.