代理类的问题!
UserDAOProxy和UserDaoImpl都实现接口UserDAO,并重写saveUser()方法
在UserDAOProxy的saveUser()方法中调用UserDAO.saveUser(),
如何确定调用那个类(UserDAOProxy和UserDAOImpl都有saveUser()方法)中saveUser()方法?
//-- interface UserDAO
public interface UserDAO
{
public void saveUser(User user);
}
//-- class UserDAOImpl
public class UserDAOImpl implements UserDAO
{
public void saveUser(User user){
user.setName();
...
...
//do some things as you like
}
}
//-- class UserDAOProxy proxy class UserDAO
public class UserDAOProxy implements UserDao
{
private UserDAO userDAO;
UserDAOProxy( UserDAO userDAO){
this.userDAO = userDAO;
}
public void saveUser(User user){
UserTransaction text = null;
try{
tx = (UserTransaction)(new InitialContext().lookup("java/tx"));
userDAO.saveUser(user); // 系统怎么知道调用那个类的saveUser?因为 UserDAOProxy自身和UserDAOImpl都有saveUser()方法!
tx.commit();
}catch(Exception ex){
;
}
}
};