Spring is a framework just like
Struts is a framework. Spring intends to make Java/J2EE development simpler. It accomplishes that goal by
1. Encouraging coding against interface as opposed to implementation (this way any implementation can be supplied simply by changing xml file)
2. Using Plain Old
Java Objects (POJOs)
3. Using dependency injection
I highly encourage you to google up the term dependency injection. If you want to understand the framework, I highly recommend chapter 1 and Appendix A of the book Spring in Action. Many people don't like the book because of incomplete examples but I think chapter 1 and Appendix A do a great job of helping some jumpstart with Spring.
Spring is a collection of APIs with each addressing different area of enterprise applications. For example, Spring has remoting services APIs, which can replace EJBs. It has
JDBC APIs to interact with the database. The beauty is, you don't have to use the APIs you don't want as long as you use the spring core APIs.
To add to Seshu's suggestion, I would recommend reading an intro article on Spring, especially paying attention on Spring bean factory, POJO based development, dependency injection and AOP support. If you understand these, you will understand Spring's value proposition.
Let us know if you have more questions about Spring...
C