Spring
Spring 是为了解决企业级开发的复杂度(耦合度)问题
Spring 根据代码的功能特点,将降低耦合度的方式分为两类:IoC与 AOP.
IoC:控制反转,对象生命周期交给Spring管理。
AOP:面向切面编程,
ORM:对象关系映射–MyBatis\Hibernate
Spring的特点
非侵入式:Spring框架的API不会出现在业务逻辑上,即业务逻辑是POJO(Java原生代码)。
Spring与IoC
控制反转(IoC,Inversion of Control),是一个概念,是一种思想。
依赖查找:Dependency Lookup ,DL,容器提供回调接口和上下文环境给组件,程序代码则需要提供具体的查找方式。
比较典型的是依赖于JNDI系统查找。
依赖注入:Dependency Injection,DI,程序代码不做定位查询,这些工作由容器自行完成。
依赖注入是目前最优秀的解耦方式。