關於代理模式的入門:
代理模式的概念:通過代理控制對象的訪問,可以詳細的訪問某個對象的方法,在這個方法調用處理,或調用胡處理。
代理的分類:
1.靜態代理
2.動態代理
3.jdk動態代理
4.cglib代理
靜態代理
程序運行前就己經存在代理類的字節碼文件,代理類和委託類的關係在運行前就確定了。
代碼如下:
定義一個接口
public interface IuserDao{
void save();
}
定義一個實現類實現上述接口
public class UserDao implement IuserDao{
public void save(){
System.out.println("shuju baocun");
}
}
定義一個代理類實現上述接口
public class UserDaoProxy implements IuserDao{
// 定義一個私有的方法
private IuserDao target;
// 構造方法
public UserDaoProxy(IuserDao iuserdao){
this.target=iuserdao;
}
public void save(){
System.out.println("開啓事務");
target.save();
System.out.println("關閉事務“);
}