aop(面向切面)编程思想在spring框架下实现的配置方法
来源:互联网 发布:krpano100源码 授权码 编辑:程序博客网 时间:2024/05/17 08:31
aop是一种编程思想,强调的是消除重复代码和对已有方法进行动态增强。它将重复代码进行横向抽取,利用代理技术对重复代码进行整合,以达到消除重复代码,增强方法功能。而在spring框架下spring提供了相应的管理方法我们只需进行一定的配置即可实现aop编程。应用aop编程首先就是要导相关jar包和依赖包,需要的包有4(spring的core包、beans包、context包、spel包)+2(spring依赖包的logging日志包、log4j包)+1(spring的aop包)+1(spring的aspect包)+1(spring依赖包的aopallicance)+1(spring依赖包的weaver包)
1、通过applicationContext.xml文件进行配置
(1)、将目标对象配置到spring容器中
利用<bean>标签将目标对象配置到spring容器中
例:
<bean name="userService"class="com.company.project.service.impl.ServiceImpl"/>
(2)、将代理对象配置到spring容器中
利用<bean>标签将代理对象配置到spring容器中
例:
<bean name="myAdvice"class="com.company.project.service.MyAdvice"/>
(3)、配置切面
配置切面前首先要配置切入点,目的是让spring找到相应的要整合或增强的方法;然后配置切面
<aop:config><aop:poincut expression="execution(public void com.company.project.service.impl.ServiceImpl.action())"id="pc"/>//切入点<aop:aspect ref="userService"> <aop:before method="beforeAdvice”point-ref="pc">//前置通知</aop:aspect>//切面。</aop:config>
2、通过注解配合applicationContext.xml文件进行配置
(1)、在xml中先将切点和通知配置到spring容器中
此处配置同上一种配置在此不再赘述
(2)、开启aspectJ的自动代理,以完成织入
<aop:aspectj-autoproxy></ aop:aspectj-autoproxy>
(3)、在通知类中配置通知
完成xml中配置的准备工作后要在通知类中通过注解对通知类进行配置,
@Aspect:类名上的注解,标注此类为通知类
@Pointcut(execution(public void com.company.projectservice.impl.ServiceImpl.action())
public viod pct(){}//通常为了方便coding写这样一个空方法来配置切点而省去重复配置切点
@Before(“MyAdvice.Pct()”):方法名上的注解,前置通知
@After(“MyAdvice.Pct()”):方法名上的注解,后置通知,不会异常阻断
@AfterReturning(“MyAdvice.Pct()”):方法名上的注解,后置通知,会被异常阻断
@Around(“MyAdvice.Pct()”):方法名上的注解,环绕通知(方法中间用ProceedingJoinPoint的proceed方法截断,以区分前置绕和后置环绕)
@Throwing(“MyAdvice.Pct()”)方法名上的注解,异常拦截通知(只有在出现异常时才会通知)
注:一般为了提高效率会把expression表达式配置为通配形式:
* com.company.project.service.impl..*Impl.*(..)
修饰符可省略,返回值用*通配注意空格,.. 表示子孙包,参数用..通配
- aop(面向切面)编程思想在spring框架下实现的配置方法
- Spring 的面向切面编程(AOP)
- Spring框架之AOP面向切面编程
- 基于配置的ORMapping框架浅析之4(面向方面的AOP切面思想引入)
- AOP面向切面编程思想的原理(简单理解)
- 【spring框架】(三)面向切面编程(AOP)
- Spring框架(二)--AOP面向切面编程
- SSM框架 之 Spring-AOP(面向切面编程)
- SSM框架 之 Spring-AOP(面向切面编程)
- Spring AOP( 面向切面编程)配置
- 配置Spring AOP面向切面编程
- AOP (面向切面编程)思想
- Spring之AOP实现面向切面编程
- Spring AOP的基本原理及面向切面编程的实现
- spring AOP面向切面编程的四种实现方式
- Spring配置过程 (二)面向切面编程AOP
- Spring AOP——面向切面编程(下)
- Spring 的AOP(面向切面编程)
- C#封装DataTable到DBF
- 基数排序
- 20170809
- wireshark抓包常见问题分析
- 易经与人生-傅佩荣有声系列1
- aop(面向切面)编程思想在spring框架下实现的配置方法
- java并发实战读书笔记
- Spring cache + redis 项目偶发死锁异常浅析
- 2017-8-9
- 课时21 Linux系统启动详解
- Unity使用暴风魔镜VR游戏开发
- 俗称最全---正则表达式---
- codeforces 755F PolandBall and Gifts(多重背包)
- 仿 Nice 首页图片列表 9 图样式 (iOS)