spring 运行原理

来源:互联网 发布:网络法律法规赌博 编辑:程序博客网 时间:2024/06/08 12:20

Spring 运行原理:

使用spring已经很久了,最近总结了一下。

首先spring是一个容器,只有在容器里的对象才会有spring所提供的服务和功能。

spring最主要有两个核心,一个是IOC(inversion of control),另一个是AOP(aspect oriented programming)。

先说一下IOC吧,IOC就是控制反转也可以叫做依赖注入。控制权由本身转向容器,由容器根据配置文件去创建实例并创建各个实例之间的依赖关系,

在spring中bean工厂创建的各个实例叫做bean。

IOC其实就是动态注入,让对象的创建不用去new了,可以自动生产,其实这里边用的就是java的反射机制,通过反射在运行时动态的去创建、调用对象。

spring就是根据配置文件在运行时动态的去创建对象,并调用对象的方法的。

其次就是AOP,AOP就是面向切面编程,其实就是静态代理和动态代理。

静态代理就是针对每一个类编写一个代理类,或者针对某个接口编写代理类。

动态代理就是针对一个方面编写一个InvocationHandler(调用处理器),然后借用JDK反射包中的proxy类为各种接口动态生成响应的代理类。

AOP最主要的就是动态代理,为某一个对象,进行监督和控制,也就是在调用这个类对象的具体方法的前后调用你指定的模块,从而达到对一个模块

扩充的功能,这些都是通过我们的配置类达到的。


Spring的目的:

让对象与对象 或者 模块与模块之间的关系没有通过代码来关联,都是通过配置类说明管理的,

spring根据这些配置,内部通过反射去动态的组装对象。


写的不太完美,见谅。

2 0
原创粉丝点击