SpringMvc aop before

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="logBefore" class="com.gc.action.LogBefore"></bean>
  <bean id="timeBook" class="com.gc.action.TimeBook"></bean>  
  <bean id="logBeforeAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
   <!-- advice 要加入的代码 -->
  <property name="advice">
  <ref bean="logBefore"></ref> 
  </property>
  
  <!--指定do开头的方法 -->
  <property name="patterns">
  <value>.*do.*</value>
  </property>
  </bean>
  
  <!-- LogBefore -->
  <bean id="logProxy1" class="org.springframework.aop.framework.ProxyFactoryBean">
<!-- 该配置也可以去掉 -->
  <property name="proxyInterfaces">
   <value>com.gc.action.ITimeBook</value>
  </property>
  
 <!-- 被代理的对象 -->
   <property name="target">
   <ref bean="timeBook"></ref>
  </property>
  <!--引入代理配置 -->
   <property name="interceptorNames">
    <list>
    <value>logBeforeAdvisor</value>
    </list>
  </property>
  
  
  </bean>
  </beans>
View Code
复制代码

2.LogBefore

复制代码
package com.gc.action;

import java.lang.reflect.Method;

import org.springframework.aop.MethodBeforeAdvice;

public class LogBefore implements MethodBeforeAdvice{

    @Override
    public void before(Method arg0, Object[] arg1, Object arg2)
            throws Throwable {
        System.out.println("before aop 前");
        
        // TODO Auto-generated method stub
        
        
    }

}
View Code
复制代码

3.ITimeBook

复制代码
package com.gc.action;

public interface ITimeBook {

    public void doAudit(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("laaaaaaaaaaaaa");
    }

}
View Code
复制代码

5.测试

  ApplicationContext context=new FileSystemXmlApplicationContext("config-before.xml");
              ITimeBook tb=(ITimeBook)context.getBean("logProxy1");
              tb.doAudit("xiaox");
View Code

 

posted @   甜菜波波  阅读(224)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示