The Spring Framework released under version 2.0: stake and opportunity.
For those who unfamiliar, the Spring Framework aims to provide a comprehensive programming and configuration model for modern Java-based enterprise applications , on any kind of deployment platform.
It includes major features like: Flexible dependency injection with XML and annotation-based configuration styles, advanced support
for aspect-oriented programming with proxy-based and AspectJ-based variants, Support for declarative transactions, declarative caching, declarative validation, and declarative formatting Powerful abstractions for working with common Java EE specifications such as JDBC, JPA, JTA and JMS and so on.
Regarding the design, Spring is modular allowing for incremental adoption of individual parts such as the core container or the JDBC support.
You can see full information here!