「一句话经典」Spring轻量级框架


一句话总结:Spring,即是IOC控制反转的一个容器,核心实现将组件对象的装配和管理权限交给外部容器Spring(注解:成为有入侵能力的黑客,名词),有BeanWrapper核心类来顶;也是一个DI容器(依赖注入容器),通过动态调用反射机制实现将配置文件中的组件对象关系通过组件的Setter方法注入组件,实现设置好配置文件的目的(注解:此时黑客根据配置文件这个攻击需求发起攻击,动词),有BeanFactory核心类来顶。


详解:

1:切入点两个概念:控制反转 =Inverse of Control =IOC;依赖注入=Dependency Injection =DI

控制反转是对组件对象控制权的转移,从程序代码本身转移到了外部容器,通过容器来实现对象组件的装配和管理

注入类型:接口注入、设置注入、构造注入。

Spring则是IOC的一个容器。

反射机制实现依赖注入,将配置文件(注释:依据)作为依赖关系通过组件setter方法(注解:组件对象的利用价值体现在setter与getter方法)注入到组件,来实现设定,即:「在运行期,(由Spring)根据配置文件,将对象的引用通过组件提供的Setter方法进行设定相互关系,实现依赖注入;(DI的好处就是提供一种无侵入式的高扩展性框架),通过反射机制动态调用其核心组件BeanFactory实现依赖注入;」


Spring是一个DI容器,其设计哲学是提供一种无侵入式的高扩展性框架,即无需代码中涉及Spring专有类,即可将其纳入Spring容器进行管理。


作为对比,EJB则是一种高度侵入性的框架范,他制定了众多的接口和编码规范,要求实现这必须遵从。侵入性的结果就是,一旦系统基于侵入性框架设计开发,那么之后任何脱离这个框架的企图都将付出极大的代价。为了避免这种情况,实现无侵入性的目标,Spring大量引入了JavaReflection机制(反射机制),通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了其核心组件BeanFactory,以此作为其依赖注入机制的实现基础。


Spring中,所谓依赖注入,即在运行期由容器将依赖关系注入到组件之中,就是在运行期,由Spring根据配置文件,将其他对象的引用通过组件提供的Setter方法进行设定。


2: Spring的核心代码在org.Springframework.beans包,包括了核心组件的实现类,核心中的核心为BeanWrapper和BeanFactory类。

Spring通过BeanWrapper能力成为“入侵黑客”,通过BeanFactory实现入侵。


你可能感兴趣的:(「一句话经典」Spring轻量级框架)