在spring中,我们可以通过在配置文件中配置目标类,切面类,代理类来达到目的。首先要讲的的是半自动代理。这种情况下,在配置文件中创建代理类时,需要配置以下几个部分:
1.创建目标类
<bean id="目标类">
2.创建切面类
<bean id="切面类”>
3.创建代理类
<bean id="代理类">
其中需要配置几个字段:
1).interfaces:确定目标类的接口类
2).target:确定目标类
3).interceptorNames:确定切面类
这样一来,在使用applicationContext.getBean()时,我们需要得到的依然是代理类的名称。
applicationContext.getBean("代理类");
我们将以上的AOP称为半自动AOP代理。
那么,什么是全自动代理呢?全自动,也就是我们在配置文件中做好一切配置,获得Bean的时候,只需要传入目标类的名称,spring就会自动根据配置文件来帮我们来生成代理对象,在我们书写的代码中,无需考虑具体细节。以下进行介绍。
首先是spring的配置文件。
这里我们需要加入schema约束,具体的写法,可以参考spring文档(xsd-config.html)。
接下来仍然分为三个部分:
1.创建目标类
2.创建切面类
3.AOP配置
详细说一下3的配置。
<aop:config proxy-target-class="true">//声明使用cglb代理
<aop:pointcut expression="” id="">//切入点,从目标对象获得具体方法,expression是切入点表达式,用于配置目标类中的连接点有哪些是切入点。关于切入点表达式,可 查询相关资料。
<aop:advisor advice-ref="" point-ref="">//一个通知,一个切入点
<aop:config/>
这样一来,使用spring工厂产生bean时,直接使用目标类的名称就可以得到代理对象了。
网友评论