zoukankan      html  css  js  c++  java
  • replace-method

    replace-method

    定义bean

    // 定义原有实体和方法
    public class RunMan {
    
        public void say(){
            System.out.println("i am rum man");
        }
    }
    
    // 定义替代方法
    public class RunReplacer implements MethodReplacer {
        @Override
        public Object reimplement(Object o, Method method, Object[] objects) throws Throwable {
            System.out.println(o.getClass().getName());
            System.out.println(method.getName());
            System.out.println("i am replacer");
            return null;
        }
    }
    

    定义xml

    <bean id="runMan" class="org.dhcao.relax.spring.replace.RunMan">
        <replaced-method name="say" replacer="replacer">
        </replaced-method>
      </bean>
    
      <bean id="replacer" class="org.dhcao.relax.spring.replace.RunReplacer"></bean>
    

    测试代码

    public class Main {
        public static ApplicationContext context = null;
        public static void main(String[] args) {
            context = new ClassPathXmlApplicationContext("spring-context.xml");
            replace();
        }
    
        public static void replace(){
            RunMan run = (RunMan) context.getBean("runMan");
            run.say();
        }
    }
    
    

    测试结果

    org.dhcao.relax.spring.replace.RunMan&&EnhancerBySpringCGLIB&&475def3a
    say
    i am replacer

  • 相关阅读:
    jQuery之Ajax应用
    ELK安装配置简单使用
    saltstack其他运行模式
    saltstack syndic安装配置使用
    salt api
    saltstack api安装使用
    saltstack master minion安装配置简单使用
    zabbix api
    zabbix snmp、jmx配置使用
    phoenix安装
  • 原文地址:https://www.cnblogs.com/dhcao/p/11244257.html
Copyright © 2011-2022 走看看