一.实验目的 |
2. 谈谈编程思想的发展? 3. AOP常用的几种增强方式,各自的特点(代码辅助)? 4. AOP实例-日志记录的项目代码 |
二. 实验内容 |
1) Spring AOP使用的是动态代理方式,也就是说AOP框架不会去修改字节码,而是每次运行时在内存中临时为方法生成一个AOP对象,这个AOP对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。如果要代理的对象,实现了某个接口,那么Spring AOP会使用JDK Proxy,去创建代理对象,而对于没有实现接口的对象,就无法使用 JDK Proxy 去进行代理了,这时候Spring AOP会使用 Cglib 生成一个被代理对象的子类来作为代理。 2) 就是用计算机来解决人们实际问题的思维方式。编程语言逐步发展变化,编程思想也在跟着逐步演变,从开始的面向过程到面向对象,再到面向服务架构、面向方向等编程思想。 3) 1.前置增强:org.springframework.aop.BeforeAdvice是前置增强顶层接口,因为Spring只持方法的增强,其子接口MethodBeforeAdvice是目前可用的前置增强。表示在目标方法执行前实施增强。 2.后置增强:org.springframework.aop.AfterReturningAdvice是目前可用的后置增强,表示在目标方法执行后实施增强。 3.环绕增强:org.aopalliance.intercept.MethodInterceptor代表了环绕增强,表示在目标方法执行前后实施增强。直接使用了AOP联盟定义的接口。 4.异常抛出增强:org.springframework.aop.ThrowsAdvice代表了异常抛出增强,表示在目标方法抛出异常后实施增强。 5.引介增强:org.springframework.aop.IntroductionInterceptor代表引介增强,表示在目标类中添加一些新的方法和属性。 4)
|
|