ppst 技术视频——spring AOP 的原理讲解和简单实现:请访问ppst 技术视频分享平台 , www.ppst.cc,上面有最新的技术视频,推荐大家把博客录制成视频吧,可以获取收益哦
1.spring aop的原理,
spring的aop在spring框架中占据了很重要的地位,在很多地方使用,很简单,可以让代码,简洁,减少耦合,值得推荐
spring aop 使用的java的动态代理技术。
2.spring aop的java 实现的简单例子
实现动态代理,代理类需要实现接口java.lang.reflect.InvocationHandler
接口UserDao
public interface UserInfoDao {
void addUser();
void deleteUser();
}
两个普通的实现
public class UserInfoDaoOracleImplimplements UserInfoDao {
@Override
public void addUser() {
System.out.println(“into addUser()”);
}
@Override
public void deleteUser() {
System.out.println(“into deleteUser()”);
}
}
public class UserDaoMySqlImplimplements UserDao {
@Override
public void addUser() {
System.out.println(“into addUser()”);
}
@Override
public void deleteUser() {
System.out.println(“into deleteUser()”);
}
}
代理的接口实现
publicclassUserDaoDynamicProxyimplementsInvocationHandler {
privateObjecttarget;
publicObject getProxyInstance(Object target){
this.target= target;
returnProxy.newProxyInstance(target.getClass().getClassLoader(),target.getClass().getInterfaces(),this);
}
@Override
publicObject invoke(Object proxy, Method method, Object[] args)
throwsThrowable {
Objectobj=null;
obj= method.invoke(this.target,args);
returnnull;
}
}
测试类
publicclassTestDynamicProxy {
publicstaticvoidmain(String[] args) {
UserDaoDynamicProxyudp = newUserDaoDynamicProxy();
UserDaodao = (UserDao) udp.getProxyInstance(newUserDaoOracleImpl());
dao.addUser();
}
}
具体 视频请登录 ppst技术视频分享网站
更多资料请关注 www.ppst.cc 网站上有各种视频,你还可以 把微博录制成视频,然后发布到上面 获取报酬哦