一、概念

spring的两大特性、IOC与AOP。其中AOP是面向切面的编程,我的理解是将对象进行切分,在切分口塞进去自己想要的方法或者行为。比如我们的日志,事物等,他们是零散地分布在不同的类里面。在学习AOP之前应该先了解JAVA的代理机制。

二、代码分析

总共分为3个步奏

1、引入jar包

在使用aop之前需要引入两个jar包

springAOP的简单搭建


2、代码编写

 需要一个接口类,两个实现类,一个需要多处显示的类,一个程序主入口类

1)接口类

springAOP的简单搭建

2)两个实现类

springAOP的简单搭建

springAOP的简单搭建

3)切面类

springAOP的简单搭建

4)程序入口类

springAOP的简单搭建

3、aop配置文件,此处我的配置文件名称为application-aop.xml

 springAOP的简单搭建

4、代码调试

 我们预计结果是在container实现类的每一个方法前后都显示当前时间,控制台结果如下

springAOP的简单搭建


三、原理

 AOP使用到了代理技术,代理分为动态代理与静态代理,动态代理是在代码运行期间生成class的字节码文件,静态代理是在编译期间就生成了。相对动态代理,动态代理的性能会稍微低一点点,因为用到了反射,但是在使用中应该不是有多大的影响。

相关文章: