Spring 是一个基于 Java 平台的开源全栈应用步伐框架,也是一个控制反转(IoC)容器实现。
Spring IoC 容器即 Spring 框架中负责管理“Bean”(由容器实例化、配置并组装的普通 POJO 对象)的焦点组件。容器读取配置元数据(XML、注解或 Java 配置类),解析 Bean 界说,然后在启动或按需时实例化 Bean,完成依赖注入,并负责 Bean 的整个生命周期管理。
IOC: Inversion of control 【控制反转】
控制反转是一种设计原则,其焦点思想是:将步伐中对象的创建、配置和生命周期管理的控制权,从应用代码“反转”交给外部框架或容器来负责。在传统的步伐设计中,业务逻辑代码主动调用库或框架完成通用功能;而在 IoC 中,则是框架或容器主动调用开发者编写的代码,实现“控制权”反转,别的呢,IoC 不是一种技术,而是一种思想。
低落组件间的耦合度,提拔体系的可维护性和扩展性。例如,传统开发中Service层直接依赖Dao层的具体实现,而IoC通过容器动态注入依赖,使两者解耦。 DI:Dependency Injection 【依赖注入】
依赖注入是 IoC 最常见的一种实现方式。在 DI 模式下,对象只需声明它所依赖的其他对象(通过构造器、属性或工厂方法),由 IoC 容器在实例化时自动“注入”这些依赖,从而实现组件间的松耦合和可测试性提拔。
在Spring中,我们可以通过构造器注入、Setter方法注入或字段注入(如@Autowired)。