package com.zgq.dao.impl;
import com.zgq.dao.UserManager;
/**
*
* @Name: UserManagerImpl.java
* @Description: 静态代理(被代理类)
* @Author: 邹国庆
* @Create 2019年11月16日 上午9:05:47
*/
public class UserManagerImpl implements UserManager{
@Override
public void addUser(String name, String passwprd) {
//check();让代理类进行安全检查
System.out.println("==>addUser()");
}
@Override
public void findUser(String id) {
//check();让代理类进行安全检查
System.out.println("==>findUser()");
}
/*//一个进行安全检查的方法,在每个方法前调用
private void check(){
System.out.println("登录前,进行安全检查");
}*/
}
静态代理类
package com.zgq.dao.impl;
import com.zgq.dao.UserManager;
/**
*
* @Name: UserManagerImplProxy.java
* @Description: 静态代理(代理类)
* @Author: 邹国庆
* @Create 2019年11月16日 上午9:06:28
*/
public class UserManagerImplProxy implements UserManager{
private UserManager userManager;
public UserManagerImplProxy(UserManager userManager) {
super();
this.userManager = userManager;
}
@Override
public void addUser(String name, String passwprd) {
check();//执行安全检查
userManager.addUser(name, passwprd);
}
@Override
public void findUser(String id) {
check();
userManager.findUser(id);
}
//安全检查的方法
private void check(){
System.out.println("登录前进行安全检查");
}
}
测试方法:
/**
*
* @Description: 静态代理测试
* @Author: 邹国庆(作者)
* @Create: 2019年11月16日 上午9:04:46
* @Parameters:
*/
@Test
public void test4(){
UserManager userManager = new UserManagerImpl();
//采用代理
UserManagerImplProxy userManagerProxy = new UserManagerImplProxy(userManager);
userManagerProxy.addUser("admin", "123");
userManagerProxy.findUser("1");
}