你的位置:首页 > 软件开发 > Java > spring入门(四)【面向切面编程】

spring入门(四)【面向切面编程】

发布时间:2016-09-04 16:00:10
开发过程中很多时候会用到日志、事务等操作,这些操作如果要写在业务代码中会相当麻烦,这时就会用到面向切面编程(AOP),AOP作为一种编程思想,和OOP有着不同的侧重点,面向对象侧重于万事万物皆对象,而面向切面编程则侧重于事务的一个方面。在面向切面编程过程中有几个比较重要的概念:切 ...

开发过程中很多时候会用到日志、事务等操作,这些操作如果要写在业务代码中会相当麻烦,这时就会用到面向切面编程(AOP),AOP作为一种编程思想,和OOP有着不同的侧重点,面向对象侧重于万事万物皆对象,而面向切面编程则侧重于事务的一个方面。在面向切面编程过程中有几个比较重要的概念:切面、切点、连接点、通知,

通知:描述了切面要完成的工作,例如,要向某个方法注入日志功能,这里的日志功能就是通知;通知分为5种:Before、After、After-returning、After-throwing、Around

切点:定义了通知被应用的地方,如,某个类上的某个方法;例如,在test类的print方法;

切面:横切关注点被模块化的类,由通知和切点组成,换句话来说切面定义了要向目标程序注入的全部内容;规定了在目标方法上执行什么样的动作;

连接点:程序执行过程中切面可以**入的一个点,如方法调用、成员变量初始化,在spring中只支持方法调用;

 

面向切面编程有两种实现方式,一种是预编译,另一种是动态代理,AspectJ属于预编译,springAOP属于运行期动态代理方式。spring实现了对AspectJ的支持。下面看springAOP和AspectJ的使用方式,

springAOP

这里使用配置文件的方式,实现springAOP,看配置文件,

  <aop:config>    <!--声明一个切面类 可以有多个-->    <aop:aspect id="myAspect" ref="aspect">      <!--声明一个切点-->      <aop:pointcut id="point1" expression="execution(* com.cn.study.day6.Test.*(..))"/>      <!--通知-->      <aop:before method="before" pointcut-ref="point1" />      <aop:around method="around" pointcut-ref="point1"/>    </aop:aspect>      </aop:config>  <!--配置切面类-->  <bean id="aspect" class="com.cn.study.day6.Aspect"></bean>

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:spring入门(四)【面向切面编程】

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录