Hi Seth,
I personally am not a fan of Spring. I'm generally not a fan of anything that says, "First, create a bunch of XML files" (GWT excepted :) ). That's why I gravitated to Guice for all my DI needs. That said, Guice and Spring aren't quite the same thing, and you could leverage both of them.
However, it is probably unnecessary to do both Guice and Spring in a GWT app. You can do anything with one DI framework that you can do with the other, and if you are leaning to Spring, you make a fine choice and you can ignore the rest of my post.
At my workplace, the way we do GWT projects is we create a WebXml.java in the server package that implements GuiceServletContextListener and point the web.xml to that class. The WebXml contains servlet mapping modules, db connection modules, and other Guice modules as needed.
On the client side, we generally use MVP structure with GIN. The MVP structure is a lifesaver for large projects in my mind. Our more recent projects have used the Activity and Places framework described on GWT's website with the main exception that the ClientFactory object is unnecessary since GIN provides the various resources instead of ClientFactory.
At my work we've got two projects that clock in around 34k and 46k lines of Java (not including XML or other artifacts) as well as smaller projects and they use the methodology I described.
Derek