Java web开发实现的技术(第二章)

版权声明:转载请申明出处,谢谢 https://blog.csdn.net/qq_35495763/article/details/88145119

Update Time:2019-3-4 Author:要你命三千又三千 type:学习笔记

在开发中用到的技术由来(概要)

  1. 反射技术
    ioc 就是利用反射实现对象的建立,再注入。
  2. 动态代理的实现
  3. 动态代理和责任链无论在 Spring还是在MyBatis中都有重要的应用
    由于动态代理一般都比较难理解,程序设计者会设计一个拦截器接口供开发者使用,开发者只要知道拦截器接口的方法、含义和作用即可。
  4. 几种设计模式责任链模式,观察者模式,工厂模式,建造者模式.(参考设计模式篇章)
    在这里插入图片描述
  5. JDK 动态代理
    JDK 动态代理是 java.lang.reflect. *包提供的方式,它必须借助 个接口才能产生代理对象,所以先定义接口,
    关键字:
  • java.lang.reflect.*包提供
  • 借助接口实现
public interface HelloWorld { 
public roid sayHelloWorld () ; 
}
public class HelloWorldimpl implements HelloWorld { 
    @Override 
  public void sayHelloWorld() { 
    System.out.println (”Hello World"); 
   }
}
public class JdkProxyExample implements InvocationHandler { 
//真实对象
private Object target = null; 
/** 
*建立代理对象和真实对象的代理关系,并返回代理对象
* @param target 真实对象
20 
* @return 代理对象
女/
public Ob] ect bind(Object target) { 
this . target = target;  //代理目标

return Proxy . newProxyI sta ce(target getClass () .getClassLoader(), target.getClass() . getinterfaces() , this);  //代理目标
/*
* @param proxy 代理对象
* @param method 当前调度方法
* @param args 当前方法参数
* @return 代理结果返回
* @throws Throwable 异常
* /
@Override 
public Object invoke (Object proxy , Method method , Object [] args ) throws Throwable { 
		System.out println 进入代理逻辑方法”);
		System out.println 在调度真实对象之前的服务”);
		Object obj= method .invoke(target , args //相当于调用 sayHelloWorld方法
		System.out.println 在调度真实对象之后的服 ”);
		return obj ; 
}}}

猜你喜欢

转载自blog.csdn.net/qq_35495763/article/details/88145119