noob answer:
I am using spring and i think it is pretty important and helpful in these days, so i would recommend it (at least it shows you how to decouple app layers with dependency injection, MVC pattern etc) and it can be used with hibernate. So i think yes, spring is worth learning as it is used often in many projects.
But from recent readings and explorations about java ee 7 I have the feeling they try to offer features, which should replace the need to use xml based frameworks like spring, but that is personal feeling - not based on deep research yet.
I'm not using struts.