here's a very quick intro for someone familiar with struts:
http://test.javaranch.com/wiki/view?SpringFramework
We use EJBs at the moment, but we talk to them through Delegates and Commands. I'm still getting the hang of it.
you could use spring to talk to a database via JDBC, Hibernate or EJB. Spring has support classes for all of those, exception handling and all.