spring的工做原理
1、 IoC(Inversion of control): 控制反转
一、IoC:
概念:控制权由对象自己转向容器;由容器根据配置文件去建立实例并建立各个实例之间的依赖关系 核心:bean工厂;在Spring中,bean工厂建立的各个实例称做bean
2、AOP(Aspect-Oriented Programming):
面向方面编程 (其实个人理解是,经过配置文件来实现模块和模块,对象和对象的分离。)
一、 代理的两种方式: 静态代理: 针对每一个具体类分别编写代理类; 针对一个接口编写一个代理类; 动态代理: 针对一个方面编写一个InvocationHandler,而后借用JDK反射包中的Proxy类为各类接口动态生成相应的代理类
二、 AOP的主要原理:动态代理
Spring工做原理
Spring 已经用段时间,感受Spring是个很不错的框架。内部最核心的就是IOC了, 动态注入,让一个对象的建立不用new了,能够自动的生产,这其实就是利用java里的反射 反射其实就是在运行时动态的去建立、调用对象,Spring就是在运行时,跟xml Spring的配置 文件来动态的建立对象,和调用对象里的方法的 。
Spring还有一个核心就是AOP这个就是面向切面编程,能够为某一类对象 进行监督和控制(也就是 在调用这类对象的具体方法的先后去调用你指定的模块)
从而达到对一个模块扩充的功能。这些都是经过 配置类达到的。
Spring目的:就是让对象与对象(模块与模块)之间的关系没有经过代码来关联,都是经过配置类说明 管理的(Spring根据这些配置 内部经过反射去动态的组装对象)
切记:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。
Spring里用的最经典的一个设计模式就是:模板方法模式。java