DI: called Dependency injection (Dependency injection), and control reversal a concept, specifically, When a role needs to be assisted by another role, in a traditional program design, there is usually a caller who creates an instance of the callee. But creating the callee in spring will no longer have callers complete, so call control inversion. The creation of the called object has spring to complete, and when the container instantiates the object it actively injects the callee (or its dependent object) to the calling object, and therefore is called dependency injection.
AOP: Spring provides strong support for aspect-oriented programming by allowing us to separate business logic from application services (such as transaction management) for cohesion clustering, where application objects focus only on business logic, No longer responsible for other system issues (such as logs, transactions, etc.). Spring supports user-defined facets. The
aspect-oriented programming is a powerful complement to object-oriented programming. Object-oriented programming divides a program into objects of all levels, and a tangent-oriented program decomposes the running process into facets. AOP is to consider the structure of the program from the point of view of running the program, extract the aspect of the business process, OOP is static abstraction, AOP is the dynamic abstraction, it is the procedure of application execution process abstraction, thus obtains the logical division between steps.
Container: Spring is a container because it contains and manages the life cycle and configuration of the Application object. such as object creation, destruction, callback, and so on.
framework: Spring, as a framework, provides some basic functionality, such as transaction management, persistence layer integration, and so on, so that developers are more focused on developing application logic.