日期:2014-05-17  浏览次数:20677 次

SpringAOP的MethodBeforeAdvice没有起作用,帮忙看一下。
本帖最后由 qingchen191 于 2013-09-07 18:14:17 编辑
刚开始学习Spring,按照教程,做了一个简单的SpringAOP前置通知注入,但是前置通知没有显示,不知道哪里出了问题,现在把主要的代码贴出来,大家帮忙看一下哪里出了问题。非常感谢。

前置通知类:LogAdvice
public class LogAdvice implements MethodBeforeAdvice {
@Override
public void before(Method method, Object[] args, Object target)
throws Throwable {
// TODO Auto-generated method stub
String targetClassName = target.getClass().getName();

String targetMethodName = method.getName();

String logInfoText="前置通知:" + targetClassName + "类的"+targetMethodName+"方法执行";

System.out.println(logInfoText);
}

}


DAO接口:UserDAO 
public interface UserDAO {

public boolean login(String username, String password);

public void addUser(String username, String password);

public void delUser(int id);

}

DAO实现类:UserDAOImpl 
public class UserDAOImpl implements UserDAO {

@Override
public boolean login(String username, String password) {
// TODO Auto-generated method stub
if (username.equals("admin") && password.equals("123")) {
return true;
}
return false;
}

@Override
public void addUser(String username, String password) {
// TODO Auto-generated method stub
System.out.println(username + "用户添加成功!");
}

@Override
public void delUser(int id) {
// TODO Auto-generated method stub
System.out.println("编号为" + id + "的用户被删除!");
}

}


业务逻辑接口:UserBiz 
public interface UserBiz {

public boolean login(String username, String password);

public void addUser(String username, String password);

public void delUser(int id);

}

业务逻辑实现类:UserBizImpl 
public class UserBizImpl implements UserBiz {

UserDAO userDAO;

public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}

@Override
public boolean login(String username, String password) {