Java SSM框架 Spring的AOP编程
版权声明:本文为博主原创文章,未经博主允许不得转载。
转载联系邮箱:1363119685@qq.com Copyright © 2018
DAR林克斯 保留所有权利
一、AOP编程的概念:
AOP:Aspect Oriented Programming(面向切面编程),可以将一些可重用的模块通过AOP的编程方式动态的添加/移除,让目标程序增加/去除相应的功能。
二、AOP相关的术语:
- 目标类:将被通过AOP编程增强的类,目标类中有连接点。
- 连接点(joinpoint):目标类中的所有方法都可以称为连接点,也就是说所有方法都可以被“织入操作”(增强)。
- 切入点(pointcut):已经被“织入”(增强)连接就是切入点。
- 通知(advice):通知,用于增强功能的类,其中可以包含四种通知,分别是:(before:前置通知;afterReturning:返回通知;affterThrowing:异常通知;after:后置通知).
- 切面(Aspect):包含“切入点”、“通知”的结合体。
三、AOP编程的案例:
任务描述:有一个目标类,其中有加、减、乘、除四个方法,在不修改者四个目标方法的情况下,动态的在这四个方法执行之前或之后添加而外的增强功能。
步骤:
- 创建一个项目(web project):spring2_aop
- 添加spring的能力:能自动完成3件事情。
- 添加JUnit的jar包:hamcrest-core-1.3.jar junit-4.12.jar
- 创建项目需要的包:
com.ssm.target(放置目标类的包)
com.ssm.advice(放置通知类的包)
com.ssm.test(放置测试类的包) - 创建目标类(com.ssm.target.Calculator):其中有加、减、乘、除四个方法。
- 创建通知类(com.ssm.advice.LoggingAdvice):其中有4个通知
beforeMethod():前置通知;
afterReturningMethod():返回通知;
affterThrowingMethod():异常通知;
afterMethod():后置通知。 - 在IOC容器()中完成配置:
1)配置目标类的bean;
2)配置通知类的bean;
3)配置通知类的bean; - 编写测试类:
从IOC容器中获取目标类的对象,并调用目标类的方法(加减乘除)
Spring入门及IOC详解请查看博主另外一篇文章Spring入门及IOC详解