JAVA动态代理

本文详细介绍了如何通过创建User类及其属性,实现用户数据的插入、获取和更新操作,并利用代理模式进行权限验证和方法调用。通过UserDAO和TaskDAO接口与实现类的配合,展示了数据操作的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package vo; public class User { private int id; private String username; private String password; public User(){ System.out.println("user对象创建成功"); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }



UserDao.java

package dao; import vo.User; public interface UserDAO { void insert(User user); void test(); }

TaskDao.java

package dao; public interface TaskDAO { void delete(String tid); }
TaskDaoImpl.java

package dao.imp; import dao.TaskDAO; public class TaskDAOIMP implements TaskDAO { @Override public void delete(String tid) { System.out.println("删除任务"); } }
UserDaoImpl:

package dao.imp; import vo.User; import dao.UserDAO; public class UserDAOIMP implements UserDAO { @Override public void insert(User user) { System.out.println("UserDAOIMP的insert(user)方法被调用"); } @Override public void test() { System.out.println("UserDAOIMP的test()方法被调用"); } }
Test.java

package test; import java.lang.reflect.Proxy; import proxy.DynaProxy; import dao.TaskDAO; import dao.UserDAO; import dao.imp.TaskDAOIMP; import dao.imp.UserDAOIMP; public class Test { public static void main(String[] args) { UserDAOIMP userDAOIMP = new UserDAOIMP(); UserDAO userDAO = (UserDAO)new DynaProxy().createOject(userDAOIMP); userDAO.test(); System.out.println("*************************"); TaskDAO taskDAO = (TaskDAO)new DynaProxy().createOject(new TaskDAOIMP()); taskDAO.delete("1"); } }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值