首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

对AOP的懂得

2012-12-28 
对AOP的理解说AOP前先说下代理。所谓代理,就是把东西交给代理来管理。如把房子交给房产中介来卖。这样房产中

对AOP的理解

说AOP前先说下代理。所谓代理,就是把东西交给代理来管理。如把房子交给房产中介来卖。这样房产中介就能做一些事情,比如给房子定价,打广告等。同样,可以将一个类交给代理管理,那么代理就可以对这个类做一些事情。spring就像这样的一个代理。当ACTION要某个服务层的类时,不用直接调用那个类。spring会将那个类给action。同样当页面向后台要action时,并不是直接找的那个action ,而是spring将那个类给页面。

?

这样将类交给代理(spring)管理有什么好处呢?

?

那就是便于管理。

?

想想,如果我有这样一个需求,在访问类时验证用户是否登录,没有登录不能访问,那么是不是要在每个类里面加入验证是否登录的方法?如果将类都交给代理(spring),只需要代理(spring)验证该用户是否登录,没有登录,则所有的类都不给它,是不是方便很多?

同样的,有这样一个需求。先更新一个表,成功后更新另一个表。如果中途出错,则两个表都不更新。这样,这两句可以做成一个事务。可是如果这样的需求很多,那是不是又得每个都加上事务?如果有了代理,那么代理可以给某些类统一的加上事务。比如,在所有update,delete ,insert开头的方法里加入事务。

?

上面所说的对某一类类或方法的统一的管理就是AOP,即面向切面的编程。

热点排行