My understanding, from what I read in "Pro Spring" and "Professional
Java Development with the Spring Framework", is that the term "lightweight" refers to the conceptual weight of a framework. Lightweight frameworks like Spring have minimal impact to an application. That is, it does not require as many code changes to incorporate them into your application as does the more heavyweight frameworks like EJB. When you create an EJB, you have to deal with several interfaces and it is pretty clear by looking at the code that an EJB is tightly coupled to the J2EE framework. On the other hand, a POJO is usually blissfully unaware that it is being used in the Spring Framework. Spring is minimally-invasive. There are also claims that it should not be a very difficult task to take Spring out and replace it with another similar framework.
With lightweight frameworks, you do not have to think too much about the underlying framework because there really isn't much code to write that explicitly ties you in with the "plumbing". On the other hand, traditional J2EE development with EJB entails writing a lot of "plumbing" code which weighs you down conceptually.
[ May 25, 2006: Message edited by: Junilu Lacar ]