zoukankan      html  css  js  c++  java
  • Spring笔记--0907

    包含ioc和aop两大核心概念

    aop----事务管理

    spring框架运用的设计模式(查一下)

    ---------------------------------------
    Ioc(控制反转)和Di-----dependency injection(依赖注入)

    Ioc 被调用对象不是由调用对象生成(new),而是用spring容器(通过反射机制)生成

    ---------------------------------------
    先理解简单工厂(对象在工厂里new)---理解spring(对象在spring里new)
    ----------------------------------------
    代理模式:
    抽象角色,代理角色(对真实对象的一个封装,也重写了抽象类的方法,但没有具体实现),真实角色(最重要引

    用的对象)

    public Proxy extends Subject{
     realSubject real;
     @Override
     void request(){
      before();
      real=new RealSubject();//对真实对象的一个封装
      real.request();
      after();
     }
    }

    public class Test1{
     public static void main(String args[]){
      ProxySubject proxy=new ProxySubject();
      proxy.request();
     }
    }
    -----------------------------------------------------
    当真实对象事先不存在时,使用动态代理
    public  class DynamicSubject implements InvocationHandler{
     private Object obj;
     public DynamicSubject(Object obj){
     }
     public Object invoke(Proxy。。。。){
     method.invoke(sub,args);
     }
    }

    public class Test2{
     public static void main(String args[]){
      Real real=new Real();//真实角色
      InvocationHandler handler=new DynamicSubject(real);//动态代理处理器
      Class realClass=real.getClass();
      
      Real real1=(Real)Proxy.newProxyInstance(realClass.getClassLoader

    (),realClass.getInterfaces,handler);//调用代理模式的处理器,出现一个实例,1类加载器 2真是角色的接

    口3...
      real1.request();
      
     }
    }
    --------------------------------------------------------------------
    横切关注点,方面,连接点(程序执行过程中的一个点,如方法调用,字段访问。。),增强,切入点

    --------------------------------------------------------------------
    public class TransactionInterceptor implements MethodIntercptor{
     public Object invoke(){
      String methodName=arg0.getMethod().getName();
      if(methodName.startWith("save")||methodName.startWith("update")  ||methodName.startWith("delete")){
      System.out.println("DFJGKL//////");
      }
      arg0.proceed();
     }
    }

  • 相关阅读:
    Python之正则表达式(re模块)
    正则表达式总结
    Python之日志处理(logging模块)
    Python之向日志输出中添加上下文信息
    python之配置日志的几种方式
    OSG3.4内置Examples解析【目录】
    探究osg中的程序设计模式【目录】
    3wwang的2019计划
    《探索未知种族之osg类生物》目录
    探索未知种族之osg类生物---渲染遍历之裁剪三
  • 原文地址:https://www.cnblogs.com/ximencuixue/p/3307493.html
Copyright © 2011-2022 走看看