从事IT已经有一段时间了,然而 一直没清楚的认识什么是AOP。今天写下此文,以便日后回忆。
spring的aop实则是一种编程思想和处理问题的方法。
在我们的日常开发中,我们的程序都是由一个个模块构成。例如我的部门、考勤、合同等模块。在进行这些模块开发的时候,我们难免需要进行一系列的判断。例如:我们在进行删除资源模块时,我们需要需要对其他表进行存在或进行权限的判断。这时我们就可以将这些判断抽出来。即切点------cutPoint
然后我们给这个切点一个listener
当听到时,我们给他一个通知adviser(让他知道我们该做什么)
然后到xml配置文件中,通过java.lang.reflect和java.io.*来执行一系列操作。
这样我们就将各个模块中的一些个判断抽象出来了。多个模块我们抽出来之后。这些抽出来的就如同一个横切的面。我们叫他为面向切面编程.