Spring Official documents ：https://spring.io/projects/spring-framework#overview
History version download ：https://repo.spring.io/release/org/springframework/spring/
Spring The original meaning is “ spring ”, It means to bring… To the software industry “ spring ”！
- 2002, For the first time Spring The rudiment of the frame ：interface21 frame ！
- Spring The framework is based on interface21 Framework based , Redesigned , And constantly enrich its connotation , On 2004 year 3 month 24 Date issued 1.0 Official version .
- Rod Johnson,Spring Framework founder , Famous author . It is hard to imagine Rod Johnson Education background , It really surprised a lot of people , He’s a doctor at the University of Sydney , However, his major is not computer , It’s musicology .
- spring idea ： Make existing technology easier to use , It’s a hodgepodge in itself , Integrating the existing technical framework !
Spring yes A lightweight Java Development framework , The first Rod Johnson establish , The purpose is to solve the coupling problem between business logic layer and other layers in enterprise application development . It’s a layered JavaSE/JavaEE full-stack（ “One-stop” work style ） Lightweight open source framework , For development Java Applications provide comprehensive infrastructure support .Spring Responsible for infrastructure , therefore Java Developers can focus on Application Development .
Spring The most fundamental mission is Solve the complexity of enterprise application development , Simplify Java Development .
Spring You can do a lot of things , It provides rich functions for enterprise development , But the bottom layer of these functions depends on its two core features , That is to say Dependency injection （dependency injection,DI） And section oriented programming （aspect-oriented programming,AOP）.
In order to reduce Java The complexity of development ,Spring The following are taken 4 Key strategies ：
- be based on POJO Lightweight and minimally invasive programming ;
- Loose coupling through dependency injection and interface orientation ;
- Declarative programming based on aspects and conventions ;
- Reduce boilerplate code through facets and templates .