spring-AOP

本次要讲解的是spring中的AOP,面向切面编程,主要提供5种增强功能,下面介绍前置增强和后置增强两种。

首先是前置增强,作用是当我们完成一项工作之后希望自动完成另外一件功能。比如说当员工在工作的时候,摄像头已经自动完成了记录工作状态的功能。

1、  创建一个员工类,其中包含工作的方法,写法如下:

spring-AOP


2、  再单独创建一个包,里面加advice的增强类,写法如下:

spring-AOP

3、  注入增强对象、注入目标对象、注入代理对象并设置对应目标及增强功能:

spring-AOP

4、  编写测试类:

spring-AOP

5、  结果:

spring-AOP

1.       有时候我们并不是所有的方法都需要进行后知增强,比如假设员工下班,摄像头就不需要记录,这时可以使用正则式匹配。

2.       首先在员工类中添加一个方法,表示员工下班。

3.       在配置文件中注入一个正则匹配方法的对象:

spring-AOP

修改代理里面的拦截器名称:

spring-AOP

1、  前置增强,先采用注解的方式添加一个前置增强的类,注意光标处的括号不能省,此处省略offduty的下班方法:

spring-AOP

2.开启自动代理,注意引入AOP

 spring-AOP

4.       注入前置对象和目标对象:

spring-AOP

5.       编写测试类:

spring-AOP

6:结果:

spring-AOP

1.       实际应用中,我们一般在application中注入dao层和Services层数据。首先dao层处理数据库中的数据,作用不变。

spring-AOP

2.一般会在Services层定义一个私有的dao层对象,然后进行封装。

spring-AOP

spring-AOP

3、最后在applicationcontext配置文件注入dao层和Services层,此处也有两种方法使Services层调用dao层方法,第一种是直接在Services的注入中添加一个引用dao对象的属性即可:

spring-AOP

第二种是把上面的属性删掉,在最前面的xsi:schemaLocation属性中添加一个下图中的属性:

spring-AOP

Bytypebyname都可以,具体的区别记不太清了。

6.       最后写一个测试类:

spring-AOP

结果就是先调用DAO层方法,然后调用Services层方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值