Spring is a lightweight dependency injection and aspect-oriented container and framework.

Lightweight
-2.5Mb Single JAR file
-Non intrusive

Dependency Injection
-loose coupling

Aspect-oriented
-enables cohesive development
-separation of concern

Container
-it contains and manages the lifecycle and configuration of application objects.

Framework
-configure and compose complex applications from simpler components.

참조 : Spring In Action 2nd edition