Spring AOP编程
来源:互联网 发布:简易财务记账软件 编辑:程序博客网 时间:2024/06/16 06:44
一.什么是AOP
AOP(Aspect Orient Programming),也就是面向切面编程。可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程。
二.AOP的作用
常常通过 AOP 来处理一些具有横切性质的系统性服务,如事物管理、安全检查、缓存、对象池管理等,AOP 已经成为一种非常常用的解决方案。
三.AOP名词解释
切面(Aspect)
需要加入到业务中的需求(日志,事物管理)通知(Advice)
切面中的每一个方法目标(Target)
被通知的对象代理(Proxy)
向目标对象通知之后创建的对象连接点(JointPoint)
程序执行的特定位置,方法执行的前后切点(PointCut)
通知织入目标方法的特定连接点,execution表达式里面的方法
四.AOP在spring中的实现
1.引入jar包
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
spring-aop-4.0.6.RELEASE.jar
spring-aspects-4.0.6.RELEASE.jar
2.在配置文件中加入aop命名空间
3.配置bean(target,aspect)
4.配置AOP
<aop:config> <!-- 切点表达式--> <aop:pointcut id="XX" expression="execution(* XX.XX.*(..))"> <!-- 配置切面及通知--> <aop:aspect ref="XX"> <aop:before method="" ppoint-ref="" /> <aop:after method="" point-ref="" /> </aop:aspect></aop:config>
AOP基于注解方式
1.在配置文件中加入如下配置
<aop:aspectj-autoproxy />
2.定义切面
@Component: 类加入ioc容器中@Aspect: 指定这个类是一个切面@Order: 指定切面执行的优先级,越小优先级越高在类的方法中定义@Before("execution(* 包.类.方法(..))"): 前置通知@After: 后置通知@Around: 环绕通知@AfterReturning(value="execution(), returning="result"): 返回通知,在方法正常结束后执行,可以访问方法返回值public void end(Object result){ System.out.println("end whit"+result); }@AfterThrowing(value="execution()",throwing="e"):异常通知,目标方法抛出异常时候执行。
注:可以定义一个切点,不需要在每个通知中写切点表达式
@Pointcut(“executino(* XX.XX.*(. .))”)
public void pointcut(){}
0 0
- Spring--AOP-AOP编程术语
- Spring AOP编程
- Spring AOP编程
- spring aop 2.0 编程
- Spring AOP编程
- spring aop编程(二)
- spring aop 2.0 编程
- spring aop 2.0 编程
- spring aop简单编程
- Spring AOP切面编程
- Spring-AOP编程
- spring的aop编程
- Spring:AOP编程
- Spring MVC AOP编程
- Spring AOP编程
- Spring的AOP编程
- spring中AOP编程
- spring的AOP编程
- undefined reference to 'pthread_create'
- TCP与UDP的区别
- mybatis框架(六)——核心技术与原理
- Volley框架的学习
- 算法训练 Anagrams问题
- Spring AOP编程
- mybatis框架(七)——插件
- 【小e1开发板操作全过程】最全的小e板操作流程
- 顺序表的静态和动态实现
- 操作系统与我们编程的关系(抽象和封装的运用)
- Hibernate的简单配置和使用
- JAVA Map的四种遍历比较
- Mac的Sierra安装TensorFlow
- 算法训练 出现次数最多的整数