Lasse did an excellent job of answering this question before I even saw it.
Lasse's right...a lot of exceptions thrown around in
Java apps (SQLException and RemoteException come to mind) usually indicate a problem so serious that you can't possibly recover. Instead of forcing you to catch or rethrow these exceptions everywhere, Spring catches them for you, then rethrows them as some subclass of RuntimeException. You can catch them if you'd like or you can ignore them.
Once you get the hang of it, there's a great freedom in being able to write code without worrying about what exceptions you may need to catch. Sure, your
IDE may make it easy to generate a try/catch block, but regardless of who writes the try/catch block, now your code is cluttered with code to handle exceptions that cannot be gracefully dealt with.