原帖及讨论:http://bbs.bc-cn.net/dispbbs.asp?boardid=12&id=145129
AOP在Spring中占有很重要的地位,做了一个例子是利用AOP来做一个登陆的身份验证。。希望能对大家有所帮助,使用了AOP可以在不破坏你的代码的前提下帮你完成验证功能。。
转一点AOP的知识:
程序代码:
以上可以看出我们要选用实现MethodInterceptor接口的方法来完成这个功能。
代码如下:
接口类的定义:
程序代码:
public interface ILogin {
public void login(String name);
}
接口实现类的定义:
程序代码:
import com.dragon.study.ILogin;
public class LoginImpl implements ILogin {
/**
* Login
*/
public void login(String name) {
System.out.println("欢迎 " + name + "登陆!");
}
}
最重要的拦截器的定义:
程序代码:
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
public class LoginInterceptor implements MethodInterceptor {
/**
* Interceptor
*/
public Object invoke(MethodInvocation arg0) throws Throwable {
String name = (String)arg0.getArguments()[0];
if (name.equals("flash")) {
System.out.println("这才是真正的用户! ");
return arg0.proceed();
} else {
System.out.println("非法的用户~~~ ");
return null;
}
}
}