1、静态代理的角色分析:
抽象角色------一般使用接口或者抽象类来实现。
真实角色------被代理的角色 (租房子的人)
代理角色------代理真实角色--代理真实角色后一般会做一些附属操作。 (中介租房,添加其他方法功能)
客户------------使用代理角色来进行一些操作
2、代码 略见/07spring4_staticproxy
3、使用静态代理好处:
使得真实角色处理的业务更加纯粹,不再去关注一些公共的事情。(公共的事情(切面)交由代理类去切入)
(1、dao接口的实现类需要有事务,但每一个实现类都加相同的不好,让一个代理类去实现dao接口,然后在里面添加事务代码 2、service接口的实现类需要有日志,每一个方法都需要去加很麻烦,那么就将它抽取出来)
公共的业务由代理来完成----实现了业务的分工
公共业务发生扩展时变得更加集中和方便
缺点: 类多了----多了代理类,工作量变大了,有一个service就必须要有一个代理类,开发效率降低了,所以静态代理太不爽
现在又想有静态代理的好处,又不想多写类,就有了----动态代理
原文:https://www.cnblogs.com/djlindex/p/11361059.html