spring中的代理模式
代理
什么是代理模式?<提供了对目标对象另外的访问方式,及通过代理对象访问目标对象,这样做的好处是可以在不修改目标对象的代码上对原有方法进行修饰(通过代理对象修饰)。
静态代理
以租房为例:
1.接口
public interface IRent {
void rent();
}
2.真实对象(目标对象)
public class HouseKeeping implements IRent {
@Override
public void rent() {
System.out.println("我有一套房出租,租金每月1500");
}
}
3.代理对象
public class HouseAgent implements IRent {
private IRent rent;
public HouseAgent(IRent rent){
this.rent=rent; //真实对象
}
@Override
public void rent() {
//对真实对象的方法进行了修饰
befor();
rent.rent();
after();
}
public void befor(){
System.out.println("提前收押金");
}
public void after()