目录
一、xml的方法的实现
1.创建项目引入相关的jar包
* spring 的传统 AOP 的开发的包
spring-aop-4.2.4.RELEASE.jar
com.springsource.org.aopalliance-1.0.0.jar aop联盟的包
* aspectJ 的开发包:
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
spring-aspects-4.2.4.RELEASE.jar spring与aspectj整合的包
2.引入spring的配置文件
<!--引入 AOP 约束:-->
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
</beans>
3.编写目标类并配置
其他方法省略
4.编写测试类
(1)spring整合junit
引入jar包
固定的写法
之前都是通过ApplicationContext的方法加载需要的对象
这里通过配置@RunWith 和@ContextCongfiguration实现
增强save方法
5.增强
(1)创建一个类
把需要增强的方法全部封装到这里
(2)将切面类交给spring管理
(3)把增强应用到目标对象上(之前自己写代理)
(4)测试结果
6.Spring中的通知类型
编写一个类专门用来进行增强,接着配置切面 (会把切点拿来(切点中有需要增强的方法))切面中有如何处理的方法(处理的方法在专门的类中)这样就做到不修改任何代码的情况下进行方法的增强处理
(1)前置通知 :在目标方法执行之前执行.
前置通知的配置:
(都可以获得切入点的信息)
修改之前的代码
(2)后置通知 :在目标方法执行之后执行
(目标方法之后执行所以可以获得方法的返回值)
(把环境搭建好之后相当的简单)只需要加一个方法 再进行简单的配置即可
后置方法获取返回值
自己写的实现类的方法
结果
(3)环绕通知 :在目标方法执行前和执行后执行
(4)异常抛出通知:在目标方法执行(程序执行)出现 异常的时候 执行 (事务管理)
spring可以帮我们进行事务管理,(环绕) 之后提交 抛出异常 回滚就用到异常抛出通知
获取异常的信息
名称任意
(5)最终通知 :无论目标方法是否出现异常 最终通知都会 执行.
7.切入点表达式的写法
+ 当前类及其子类
8.总结
客户的 联系人 的用户的