AOP: Aspect Oriented Programming面向方面编程,AOP的目标就是要是交叉业务模块化,可以采用将切面代码移动到原始方法的周围,这与直接在方法中编写切面代码的运行效果是一样的。
AOP与OOP的区别:OOP面向对象编程,他是从面向过程编程改进而来的,AOP是在面向对象编程上改进而来的,OOP是对针对领域中的实例、属性和操作的抽象与封装,而OOP是针对业务过程中切面进行提取。
例如: 某一操作在各个模块中都有涉及,就可把这个操作"横切"存在于系统当中,这些操作大都不属于逻辑操作的部分,AOP就是将这些操作与业务逻辑分离,AOP所面对的是处理过程中的某个步骤或阶段.
实现AOP功能的封装与配置
1、工厂类BeanFactory负责创建目标类或代理类实例对象,并通过配置文件实现功能切换,其getBean方法根据参数字符串返回一个相应的实例对象,如果参数字符串在配置文件中对应的类名不是ProxyFactoryBean,则直接返回该类的实例对象,否则,返回该类的实例对象的getProxy方法返回的对象。
2、ProxyFactoryBean类充当封装生成动态代理的工厂,需要为工厂类提供哪些配置参数信息?
BeanFactory类
ProxyFactoryBean类
测试类AopFrameworkTest
配置文件config.properties