Spring的理解

来源:互联网 发布:自己能干淘宝秒杀群吗 编辑:程序博客网 时间:2024/05/20 20:01

Spring是个容器性质的框架,可以管理Bean对象的创建和销毁。Spring具有IOC和AOP的特性。


1.Spring实现了工厂模式的工厂类,这个类名为beanFactory,其实是个接口,在程序中通常使用BeanFactory的子类ApplicationContext。Spring相当于一个大的工厂类,在他的配置文件中通过<bean>元素来创建实例对象的类名和实例对象的属性。

2.Spring提供了对IOC(控制反转)的支持,IOC是一种编程思想,也称为DI(依赖注入),简单说就是对象创建和使用的控制权转移到了Spring容器中,由Spring容器来控制,利用这种思想可以很好地实现模块间的解耦。

3.Spring提供了对AOP(面向切面编程)技术的良好封装,简单说就是系统中有许多不相干的类的方法,在这众多方法中要加入系统功能的某些代码,比如加入日志,权限判断,异常处理等,这种应用称为AOP。   实现AOP采用的是代理技术,客户端程序不再调用目标,而是调用代理类,代理类与目标类具有相同的方法声明,有两种方式可以实现方法的声明。

①实现相同的接口。  JDK中采用Proxy类产生动态代理的方式为某个接口生成实现类,

②作为目标类的子类存在。  如果要为某个类生成子类,则采用CGLIB。

在生成的代理类的方法中加入系统功能和调用目标类的相应方法,系统功能的代理以Advice对象进行提供, 所以 如果要创建出代理对象,需要提供目标类和Advice对象,Spring提供了这种支持,只需要在Spring的配置文件中声明这两个元素即可实现代理和AOP功能,代码如下:

<bean id="proxy" type="org.spring.framework.aop.ProxyBeanFactory">

<property name= ''target' ref=""/>

<property name="advisor" ref=" "/>

</bean>