以下转自Pro Spring Dynamic Modules for OSGi™ Service Platforms 一书,一小段文字说明了为什么通常把Spring称作轻量级框架。
In relation to Spring, the allusion to the word “container” is due to how Java applications are deployedin the Java EE platform. Java EE relies on application servers composed of containers—a web containerand often an EJB container—that enable access to the resources and services needed by an application.However, the majority of classes that make up an application also need to be designed against the APIsprovided in these containers, further allowing classes to access the resources and services they supply—such as transactions, data sources, and security.
With the emergence of Spring and its IoC design, application classes no longer need to be pegged against any container APIs. Spring allows Java application classes to cooperate without requiring the useof any particular API, further allowing such classes to access the resources and services provided by acontainer via DI, making for a more lightweight process than that associated with using container APIs. So because Spring does not impose the use of any particular API for creating applications and still providesaccess to the same services and resources available in Java EE containers but in a more simplified way,the term “lightweight container” emerged.
加粗的地方说明得简洁,扼要。