I don't know, it's up to personal preference IMO.
I don't think using interfaces/superclasses are counter-productive. I prefer interfaces over Annotations, but it's only my preference. I think you should study both ways and decide what you're happy to use.
SCJA 1.0, SCJP 1.4, SCWCD 1.4, SCBCD 1.3, SCJP 5.0, SCEA 5, SCBCD 5; OCUP - Fundamental, Intermediate and Advanced; IBM Certified Solution Designer - OOAD, vUML 2; SpringSource Certified Spring Professional
I'm learning too and have found this page: http://static.springsource.org/spring/docs/2.5.x/reference/ useful and current. It's called a reference, but it does talk you through parts of it! I'm using Netbeans 6.7.1 which comes with Spring 2.5 so I don't need anything more up to date about Spring.
I've been wondering about why people would use Java annotations to hold things like table names and view names within the Java code rather than the XML files. This doesn't make a lot of sense to me . I thought the good things about XML configuration is that you don't need to alter the source code if you want to make changes to view names, etc. Perhaps I've totally got the wrong end of the stick w.r.t. annotations so welcome comments from the more experienced.