Spring学习(三)

来源:互联网 发布:html5网页制作软件 编辑:程序博客网 时间:2024/06/11 15:02

一、Spring使用注解进行AOP的开发

1,引入相关的jar包

这里写图片描述

2,编写目标类

public class CustiomImp implements CustomInter{    @Override    public void save() {            System.out.println("保存客户。。。。。");    }    @Override    public void update() {        System.out.println("修改客户。。。。。");    }}

3,配置目标类并开启注解自动代理

<!-- 开启自动代理 --><aop:aspectj-autoproxy/> <!-- 配置目标对象 --><bean id="customImp" class="com.itcast.test1.CustiomImp"/>

5,AspectJ的AOP的注解

@Aspect:定义切面类的注解通知类型*@Before :前置通知*@AfterReturing:后置通知*@Around:环绕通知*@After:最终通知*@AfterThrowing:异常抛出通知*@Pointcut:定义切入点的注解。

6,编写切面类

@Aspectpublic class AspectAnno {    @Before(value = "AspectAnno.fun()")    public void log() {        System.out.println("记录日志。。。。。");    }    @After(value="AspectAnno.fun()")    public void after() {        System.out.println("最终日志。。。。。");    }    @Around(value="AspectAnno.fun()")    public void around(ProceedingJoinPoint point) throws Throwable{        System.out.println("环绕通知前。。。。。");        //手动强制调用        point.proceed();        System.out.println("环绕通知后。。。。。");    }    /**     * 自定义切入点     *      */    @Pointcut(value="execution(public * com.itcast.*.CustiomImp.save())")    public void fun(){    }}

7,配置切面

<bean id="myAspectAnno" class="com.itcast.test1.AspectAnno" />

8,测试代码

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration("classpath:applicationContext.xml")public class Test1 {    @Resource(name = "customImp")    private CustomInter customInter;    @Test    public void run1() {        customInter.save();        customInter.update();    }}

二、源码

下载地址:http://download.csdn.net/detail/tianyejun6/9795840

0 0
原创粉丝点击