zoukankan      html  css  js  c++  java
  • SpringMvc自动代理

    自动配置的好处是不需要挨个 实现【org.springframework.aop.framework.ProxyFactoryBean】 ,只需要 advisor 配置和

      <bean id="autoProxy" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" />  代码即可

    1.config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
     "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    
      <bean id="logAfter" class="com.gc.action.LogAfter"></bean>
      <bean id="timeBook" class="com.gc.action.TimeBook"></bean>  
      <bean id="logAfterAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
       <!-- advice 要加入的代码 -->
      <property name="advice">
      <ref bean="logAfter"></ref> 
      </property>
      
      <!--指定do开头的方法 -->
      <property name="patterns">
      <value>.*do.*</value>
      </property>
      </bean>
      
      <!-- 自动aopd的配置 -->
      <bean id="autoProxy" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" />  
    
      </beans>
    View Code

    2.使用logbefor 后 logafter  后 logaround的advice代码

    3.ITimeBook

    package com.gc.action;
    
    public interface ITimeBook {
    
        public void doAudit(String name);
        
        public void doCheck(String name);
    }
    View Code

    4.TimeBook

    package com.gc.action;
    
    public class TimeBook implements ITimeBook {
    
        @Override
        public void doAudit(String name) {
            // TODO Auto-generated method stub
            System.out.println("this is doAudit");
            
         int m=1/0;
        }
    
        @Override
        public void doCheck(String name) {
            // TODO Auto-generated method stub
            System.out.println("this is doCheck");
        }
    
    }
    View Code

    5.测试

     ApplicationContext context=new FileSystemXmlApplicationContext("config-auto.xml");
                  ITimeBook tb=(ITimeBook)context.getBean("timeBook");
                  tb.doCheck("xiaox");
    View Code
  • 相关阅读:
    编程之类 字符串包括问题
    Performance Counter的使用
    MVVM Light Toolkit使用指南
    Lambda表达式详解
    C#线程篇---Task(任务)和线程池不得不说的秘密(5)
    在WPF中如何使用RelativeSource绑定
    WPF中使用ObjectDataProvider绑定方法
    免费的精品: Productivity Power Tools 动画演示
    使用Myeclipse进行简单webservice开发的示例
    <context:component-scan>使用说明
  • 原文地址:https://www.cnblogs.com/tiancai/p/6734817.html
Copyright © 2011-2022 走看看