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