在我之前的一篇博文里,我记录的了我个人学习动态代理的笔记,这次做了个j2se的小项目,就用到了动态代理,由于不熟悉,
踩坑了,刚刚解决完,记录一下。
首先是各个板块的代码截图
/**
* Created on 10:48 24/08/2019
* Description:
* 注册接口,判断是否已经注册以及注册功能的实现
* @author Weleness
*
*/
public interface UserDao {
boolean isLogin(String username,String password);
void regist(User user);
}
/**
* Created on 10:57 24/08/2019
* Description:
* UserDao接口实现类 用来真正实现注册功能
* 要通过反射读取的临时文件一定要放在src目录下
* @author Weleness
*/
public class UserImpl implements UserDao {
private static InputStream in;
private static Properties pro =new Properties();
static {
try {
in = UserImpl.class.getClassLoader().getResourceAsStream("user.properties");
pro.load(in);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean isLogin(String username, String password) {
if (password.equals(pro.getProperty(username))) {
return true;
}
return false;
}
@Override
public void regist(User user) {
if (pro.getProperty(user.getUsername()) != null) {
System.out.println("对不起。用户已存在,不能重复注册");
} else {
try {
pro.setProperty(user.getUsername(), user.getPassword());
PrintWriter pw = new PrintWriter("G:\\IDea\\Test\\src\\user.properties");
pro.