What components of Spring are generally used, especially when JSP, Hibernate, and Tomcat technologies are involved? Does this usually involve Spring MVC or other components, or a combination of a few? My first instinct is that Spring MVC or Webflow would be used, but I've heard of different implementations. Any insight would be appreciated. Thank you.
Core Spring is used in just about every enterprise project I work on. Many of the other projects are mature and used in Enterprise however which ones really depends on a lot of factors like project requirements and what technologies a particular company has chosen as a technology stack. Spring MVC is one choice for a web application framework. I like it, however there are lots of other options out there and Spring is flexible enough to work with others besides Spring MVC. Webflow addresses the needs of a specific type of web-app. It may or may not make sense to use it, I suggest reading the project description for it on the link I gave above.
Your question is generic enough where any answer you get is also going to be generic. Maybe that is what you wanted or maybe you should ask what technologies should I use with 'my project' in which case you would have to offer more details.
Ok well let me add to my answer a little bit then.
Disclaimer - I have no data to support this other than my experience.
Spring Core - Used in almost all Enterprise applications I have worked on. Going beyond my experience this can be proved just by being one of the skills in high demand on a lot of enterprise job postings.
Spring MVC - Used in many Enterprise applications. That said I have worked on many that still use Spring core but have selected another technology as a Web framework such as JSF, or Struts2, I have also seen Stripes used at one enterprise but I am guessing this is a much less common choice. I even worked on one Enterprise application using Spring and Flex (although I believe Flex is now on its way out)
Spring Web-Flow - I know its being used in Enterprise, and while I have colleagues who have used it for enterprise projects, I have not yet. This is more due to the types of projects I have been on.
Spring Integration - While this is a relatively new project, it has definitely found its way into the Enterprise. I have used it and where it is not present I have introduced it. This is an awesome project.
Spring Security - Goes almost hand in hand with #1. l find it used a lot.
Spring Roo- I have not seen this adopted in the Enterprise yet, but like I said that does not mean it is not used.
Spring Mobile - I have not used this, but it just went GA so that is not surprising. I know of a few projects where I would have requested consideration of this had it been available and stable at the time.
Spring Data - Relatively new but I am already using it a lot in Enterprise applications.
Spring Web Services I have used this in enterprise applications but I still find others like CXF commonly used.
Spring Batch - I know of it being used, but have not had need of it personally yet. I am waiting for the day I do though and fully plan on making use of it.
Spring Social I have no idea how much this is used in Enterprise. I have not personally encountered or heard of it being used there yet.
Spring BlazeDS Integration I have used this where Flex is being used with Spring. My guess is that Flex is going to die out and this project will go with it though.
That is one developers experience hope it helps
subject: Spring in Enterprise/Production Environments