Το Spring Framework είναι μια πλατφόρμα Java, ανοιχτού κώδικα, η οποία παρέχει υποστήριξη για την γρήγορη δημιουργία εφαρμογών Java. Είναι το πιο δημοφιλές framework ανάπτυξης, enterprise εφαρμογών Java.
1. Ελαφρύ
Το Spring είναι ένα ελαφρύ, modular framework, το οποίο επιτρέπει την επιλογή οποιουδήποτε module, πάνω απο το Spring Core.
2. Inversion Of Control
Οι εξαρτήσεις της εφαρμογής ικανοποιούνται από το ίδιο το framework. Το Framework δημιουργεί τα αντικείμενα κατά την εκτέλεση του εφαρμογής και ικανοποιεί τις εξαρτήσεις της εφαρμογής.
3. Aspect Oriented Programming
Οι developers μπορούν να χρησιμοποιήσουν το AOP, για να αναπτύξουν μια εφαρμογή, όπου το business logic είναι διαχωρισμένο από τα system services.
4. Container
Παρέχει το δικό του container, για τη διαχείριση των αντικειμένων - beans.
5. MVC Framework
Το Spring MVC Framework μπορεί να χρησιμοποιηθεί, για την ανάπτυξη web εφαρμογών.
6. Transaction Management
Παρέχει ένα γενικό επίπεδο Transaction Management.
Το Spring Framework αποτελείται από features, τα οποία είναι οργανωμένα σε 20 modules. Αυτά τα modules είναι ομαδοποιημένα στο Core Container, Data Access/Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, Messaging και Test.