In spring, the dependencies of each module are described through a simple IOC configuration file, which centralizes and understands these externalities, and when we use other Component Services, we only need to understand and configure these dependencies in the configuration file, that is, the interface is concerned, and the specific implementation of the service, After using the interface definition to leave, it is not the focus of application development concern. For application development, you only need to understand the configuration of the interfaces and dependencies of the service. This can be a good embodiment of Spring's second creed: Let application development interface programming, not class programming. This allows Pojo to use Java EE services to minimize dependencies on these service implementations while minimizing the intrusion of the framework on the application
Spring Dependency Relationship