`
chembo
  • 浏览: 938730 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring aop使用笔记

阅读更多
定义一个aspect类:
@Aspect
public class MyAspect {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    @Pointcut("execution(public * com..controller.*Controller.*(..)) &&" +
            "!execution(public * com..NotThisController.*(..))") 
    private void pointCut(){} 
    
    @Before("pointCut()")
	public void beforeInit() throws Throwable {
    	ServletWebRequest servletContainer = (ServletWebRequest)RequestContextHolder.getRequestAttributes();
    	HttpServletRequest request = servletContainer.getRequest();
    	HttpServletResponse response = servletContainer.getResponse();
		//do something
	}
    @After("pointCut()")
	public void afterInit() throws Throwable {
    	ServletWebRequest servletContainer = (ServletWebRequest)RequestContextHolder.getRequestAttributes();
    	HttpServletRequest request = servletContainer.getRequest();
    	HttpServletResponse response = servletContainer.getResponse();
    	        //do something
	}
}


配置文件:
<aop:aspectj-autoproxy />
    <bean class="com.abc.def.MyAspect" /> 
分享到:
评论
5 楼 jayyunfei 2012-04-06  
哦~~明白了,谢谢呵呵~~
4 楼 chembo 2012-04-06  
jayyunfei 写道
就是说只要是coontroller就会被拦截,然后先执行a,b?
execution(public * com..controller.*Controller.*(..))
这个是controller的路径吗?


对,这是controller的匹配路径,拦截后先执行before,然后是controller的方法,最后执行after
3 楼 jayyunfei 2012-04-01  
就是说只要是coontroller就会被拦截,然后先执行a,b?
execution(public * com..controller.*Controller.*(..))
这个是controller的路径吗?
2 楼 chembo 2012-03-29  
jayyunfei 写道
这个要怎么调用呢?

符合这个规则的方法都会被拦截并执行before和after的方法
@Pointcut("execution(public * com..controller.*Controller.*(..)) &&" +  
            "!execution(public * com..NotThisController.*(..))")  
1 楼 jayyunfei 2012-03-27  
这个要怎么调用呢?

相关推荐

    Spring AOP 使用笔记

    本笔记主要探讨了如何在Spring应用中使用AOP来实现横切关注点,如日志、事务管理、性能监控等。 首先,理解AOP的基本概念至关重要。AOP的核心是切面(Aspect),它封装了跨越多个对象的行为或责任。切面由两个主要...

    spring aop 学习笔记

    本学习笔记将深入探讨Spring AOP的核心概念、工作原理以及实际应用。 1. **核心概念** - **切面(Aspect)**:切面是关注点的模块化,包含业务逻辑之外的横切关注点,如日志、事务管理。 - **连接点(Join Point...

    SpringAop学习笔记以及实现Demo

    **Spring AOP 学习笔记及实现Demo** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。AOP的主要目的...

    Spring AOP学习笔记

    NULL 博文链接:https://linres.iteye.com/blog/281221

    Spring Aop 学习笔记

    Spring Aop 学习笔记

    Spring AOP IOC源码笔记.pdf

    Spring AOP基于代理实现,可以使用接口代理(JDK动态代理)或类代理(CGLIB)。 7. CGLIB: CGLIB是Spring AOP默认的代理库,用于生成目标类的子类,从而实现方法拦截。当目标类没有实现接口时,Spring会使用CGLIB...

    spring源码--AOP流程--笔记.docx

    Spring AOP 源码分析笔记 Spring AOP(Aspect-Oriented Programming)是一种编程范式,它允许开发者 modularize cross-cutting concerns,即将横切关注点模块化。AOP 使得开发者可以将一些公共的功能模块化,以便在...

    Spring AOP源码笔记

    【Spring AOP源码笔记】 Spring AOP是Spring框架的核心组件之一,它实现了面向切面编程(Aspect-Oriented Programming,简称AOP),允许开发者定义“切面”,这些切面可以封装横切关注点,如日志记录、事务管理等。...

    Spring AOP 复习笔记.rar

    Spring AOP还支持使用AspectJ的强大的表达式语言来声明切入点。AspectJ提供了更全面的面向切面编程功能,包括类型的匹配、编译时织入等。在Spring中,可以通过以下方式启用AspectJ支持: ```xml &lt;aop:aspectj-...

    Spring AOP 用法笔记

    1. **注解驱动的AOP**:在Spring 2.5引入了基于注解的AOP,允许我们在切面类和方法上直接使用`@Aspect`、`@Before`、`@After`等注解,简化了配置。 2. **XML配置的AOP**:在Spring的XML配置文件中定义切面、通知、...

    ssh-aop笔记

    SSH-AOP笔记主要涵盖的是Spring、Struts和Hibernate三大框架集成使用时,如何结合Aspect Oriented Programming(面向切面编程)的理念进行应用增强。在Java企业级开发中,SSH是常用的MVC架构,而AOP则是一种编程范式...

    spring ioc aop mvc boot-学习笔记.docx

    Spring框架是Java开发中不可或缺的一部分,它为开发者提供了强大的依赖注入(IOC)和面向切面编程(AOP)功能,以及用于构建Web应用程序的MVC框架。Spring Boot则是基于Spring框架构建的应用程序启动器,旨在简化...

    Spring_AOP笔记Spring_AOP笔记

    在实际开发中,Spring AOP的使用不仅可以提高代码质量,还能帮助开发者专注于业务逻辑,而不是被琐碎的服务细节所困扰。因此,理解和掌握Spring AOP对于任何Java开发者来说都是一项重要的技能。

    SpringAOP案例代码笔记

    Spring的AOP开发(XML)Spring的AOP的注解开发 代码案例

    JAVA Spring AOP面向切面编程笔记

    JAVA Spring AOP面向切面编程笔记

    拿捏面试官-Spring AOP IOC源码笔记

    - **cglib代理**:Spring AOP使用动态代理技术,如JDK动态代理和CGLIB,实现切面编程。 - **手动实现AOP**:编写切面类,定义通知方法。 - **AOP的概述**:AOP用于封装横切关注点,如日志、事务、性能监控等。 -...

    马士兵老师spring框架学习笔记

    这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **Spring框架概述**:Spring是一个开源的Java平台,提供了一个全面的编程和配置模型,支持构建更简洁、更易于测试和...

    Spring框架学习笔记

    Spring框架是Java开发中广泛应用的轻量级框架,它以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)为核心特性,极大地简化了企业级应用的开发工作。这份"Spring框架...

Global site tag (gtag.js) - Google Analytics