Spring is lightweight when it comes to size and transparency. The basic version of spring framework is around 2MB.
IoC containers tend to be lightweight, especially when compared to EJB containers.
This is beneficial for developing and deploying applications on computers with limited memory and CPU resources.
Loose coupling is achieved in Spring, with the . The objects give their dependencies instead of creating or looking for dependent objects.
With the approach, dependencies are explicit and evident in constructor or JavaBean properties.
and separates application business logic from system services.
Spring contains and manages the life cycle and configuration of application objects.
Spring’s web framework is a well-designed , which provides a great alternative to web frameworks.
Spring provides a consistent transaction management interface that can scale down to a local transaction and scale up to global transactions (JTA).
Spring provides a consistent transaction management interface that can scale down to a local transaction (using a single database, for example) and scale up to global transactions (using JTA, for example).
Spring provides a convenient API to translate technology-specific exceptions (thrown by JDBC, Hibernate, or JDO) into consistent, unchecked exceptions.
written with Spring is simple because environment-dependent code is moved into this framework. Furthermore, by using JavaBean-style POJOs, it becomes easier to use dependency injection for injecting test data.
Spring does not reinvent the wheel instead; it truly makes use of some of the existing technologies like several ORM frameworks, logging frameworks, JEE, Quartz and JDK timers, other view technologies.
Spring is organized in a modular fashion. Even though the number of packages and classes are substantial, you have to worry only about ones you need and ignore the rest.
Spring’s web framework is a well-designed web MVC framework, which provides a great alternative to web frameworks such as Struts or other over engineered or less popular web frameworks.