Spring中的代理(proxy)模式
代理模式主要有两种:静态代理和动态代理 代理模式 代理模式是常用的 Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联, 代理 类的对象本身并不真正实现服务, 而是通过调用委托类的对象的相关方法, 来提供特定的服务. 按照代理类的创建时期,代理类可分为两种。 1.静态代理类: 由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类 的.class 文件就已经存在了。 静态代理类 如下: StudentImpl 类是代理类, public class StudentImpl implements IStudentServiceDAO { StudentServiceImpl service; StudentImpl(StudentServiceImpl service) { this.service = service; } @Override public void save(Student stu) { System.out.println("开启事务"); service.save(stu); System.out.println("提交事务"); } } StudentServiceImpl