【spring-day3】aop和动态代理

xiaoxiao2025-04-04  16

昨天骑着小黄车路过好车(不知道算不算豪车)店,想进去看看,摆个pose,拍个照,定个位,然后发圈配文,加入微商不到一周,喜提好车(豪车),恭喜周总。

然而,17点竟然展厅没人,昏暗的灯,心里叹气,看来今天提不了车了,那就安静写代码吧。 这不,今天灵感一来,就来写写AOP思想。

aop,说是面向切面编程,倒是可以理解为面向service面编程。 aop的实现就靠动态代理,一个Java提供的,需要实现类实现接口,一个是cglib,spring引入的,可以对任何类代理(final的不行).

以买车为例子:

没有代理的时候,你想要个手扶拖拉机的跑车,累不累啊,还得找这个厂。 现实生活,不都存在4s店(代理商),你去买车,选车,交资料,贷款,付款,都是在4s店搞定的,4s店再和厂家结算。

【so,自己找个代理…】

我要买车

找个代理商

实现买车

以上,从我看车,买车,贷款全程下来,代理商帮我搞定就行了,但缺点是,来一个客户,就要创建一个代理商。 今天来一个买A牌子车的,明天来一个买B牌子车的,那么就得写2个代理类,麻烦。

spring呢,就为我们想好了,搞一个万能中介,你要啥代理商,管它要就行了。

【jdk动态代理】

接口里面全是方法,全是客户要干嘛的方法。

上面实现类必须要实现接口,不然报错。亲测 以上还是有缺陷的,万一有没接口怎么办?

【cglib,不要接口也行】

这个一个要买飞机的客户。

万能的代理商

1.setSuperclass传入UserServiceImpl.class,代理工程就知道你要干嘛了,就知道该生产什么代理商了。 2.setCallback,授权

转载请注明原文地址: https://www.6miu.com/read-5027451.html

最新回复(0)