150.SpringAOP的一个例子

步骤1:在applicationContext.xml的头文件中加入AOP支持[引入AOP命名空间]

步骤2:引入目标类

步骤3:引入切面

         我们先通过一个测试方法来获取方法的全名

        

         得到的结果:

注意下面表达式:

表达式中的参数对应着上面测试方法输出的结果。

其中modifiers-pattern?         代表public”?”问号表示可有可无

ret-type-pattern                代表返回的类型,即java.lang.Long

declaring-type-pattern?          代表edu.njusttz.spring.aop.xml.Person

name-pattern         代表方法名 getPid

param-pattern       代表方法的参数,没有参数则不需要写

throws-pattern?       代表抛出的异常,可有可无

所以:以上这个表达式是用来表示一个方法的。确定哪个类来生成代理对象

例子:

 
 
所以根据以上知识点得出切面部分的配置如下:
 
特别注意:使用切面的时候Spring4.2.1这个包中缺少两个jar文件,需要添加进去。
 
测试方法:
 
原理:   1.加载配置文件,启动spring容器
         2.spring容器为bean创建对象
         3.解析AOP配置的时候会解析切入点表达式
         4.检查纳入spring管理的那个类与切入点是否匹配,如果匹配则为该类创建代理对象。
         5.代理对象的方法体就是目标方法+通知。
         6.客户端在调用context.getBean时,如果该bean有代理对象,则返回代理对象。如果没有代理对象,则返回原来的对象。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值