Introduction to the Spring Framework
Spring, an open source framework created by Rod Johnson. Spring was created to solve the complexity of enterprise application development, can make a simple JavaBeans / POJO to complete the matter that before only can complete by EJB. Spring provides a large number of APIs to simplify integration with other third-party frameworks.
Looking at Spring, you will find that Spring can solve a lot of problems, but in the final analysis, all Spring provides API/solution ideas can be traced back to Spring's most fundamental concept of "simplified Java development."
▲Spring = simplified Java development
Spring strategy and core
The four key strategies/core that Spring to reduce the complexity of Java development
1. POJO-based lightweight and minimal invasive programming
2. Loosely coupled by dependency injection and interface-oriented
3. Declarative programming based on aspect and convention
4. Reduce the board code by aspect and template
All of the Spring APIs / solutions can be traced back to one or more of the above strategies.
Although Spring can reduce the complexity, but when Spring begins to the current version 4.X, Spring is already a very complex framework.
And the Spring original goal is a lightweight container framework, but when Spring begins to the current version 4.X, is also a heavyweight framework.
Finally, although Spring is the smallest invasive, but it gives us the greatest dependency.
spring-core,spring-beans : the most basic module of the Spring , which provides IOC and dependency injection and other functions
spring-context : Provides a context object that accesses an object
spring-context-support : Provides the ability to integrate the third-party library into a context
spring-expression(SPEL) : Provides powerful expression language support to reduce workload
spring-aop : Provides a AOP-compliant aspect-oriented API implementation
spring-aspects : Provides integration with AspectJ
Data access integration module
spring-jdbc : Provides APIs for simplify JDBC programming
spring-tx : Provides APIs for simplify transaction management and programming
spring-orm : Provides APIs for simplify ORM specification programming and provides support for JPA, Hibernate
spring-oxm : Provides APIs for simplify the OXM specification programming
spring-jms : Provides APIs for simplify JMS specification programming
spring-web : Provides APIs for simplify the programming of basic Web functions
spring-webmvc,spring-webmvc-portlet : Provides APIs for simplify MVC and RESTful programming
spring-websocket : Provides APIs for simplifying Websocket writing
spring-test : Provides components for unit testing and integration testing support, simplifies the test case programming API
spring-messaging : Supports message architecture and protocols
spring-instrument : Provides class detection support and class loader implementation for use in some application servers
spring-instrument-tomcat : Provides class checking support and class loader implementation for use in Tomcat
Spring framework overview