Spring的切入点(二 静态Pointcut的例子)

下面以JdkRegexpMethodPointcut为例,通过一个完整的范例展示如何使用静态切入点(完整工程代码见例程4.3)。在工程中我们定义一个People类和一个切面,并将他们在Spring xml配置文件中联系起来。当People对象执行我们切入点中定义的方法时,前置装备LogerPeople将会给出相应的提示信息。

新建一个工程AOP_Test4.3,添加Spring开发库后,新建aop.test包。

创建目标类People,该类有speak、Running、Loving、died四个成员方法。代码如下:

代码

/**
*
*/
package aop.test;
/**
* @author zhangyong
*
*/
public class People{
  // 讲话
   public void speak() {
     System.out.println("Hello,我是People!");
   }
   // 跑步
   public void Running() {
     System.out.println("我在跑……跑…………逃……");
   }
   // 恋爱
   public void Loving() {
    System.out.println("我在和MM恋爱……别来打搅我!");
   }
  // 死亡  
   public void died() {
     System.out.println("完了,我死了");
   }
}

时间: 2024-11-02 14:03:19

Spring的切入点(二 静态Pointcut的例子)的相关文章

Spring的切入点(一 静态Pointcut)

Pointcut即切入点,用于配置切面的切入位置.由于Spring中切入点的粒度是方法级,因此在Spring AOP中Pointcut的作用是配置哪些类中哪些方法在我们定义的且入点之内.哪些方法应该被过滤排除.Spring的Pointcut分为静态Pointcut.动态Pointcut和用户自定义Pointcut三种,其中静态Pointcut只是需要考虑类名.方法名:动态Pointcut除此之外,还要考虑方法的参数,以便在运行时可以动态的确定切入点的位置. 1.静态Pointcut 静态即意味着

springaop事务-Spring 中的Annotation 关于@Pointcut 的问题

问题描述 Spring 中的Annotation 关于@Pointcut 的问题 package com.bjsxt.aop; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; impo

workbench的二次开发 相关例子 代码跟文章

问题描述 workbench的二次开发 相关例子 代码跟文章 现在我需要对workbench进行二次开发,但是不知道如何入手,查了一些文章,但是都没有具体的说明,只是说有SDK等,没有具体的例子跟代码,有没有大神能够提供一些这方面的文章.例子跟代码,万分感谢!

Spring的切入点(三 动态Pointcut)

由于动态切入点除了要考虑方法的名称等静态信息外,还要考虑方法的参数.由于它是动态的,在执 行时既要计算方法的静态信息,还要计算其参数,结果也不能被缓存.因此,动态切入点要消耗更多的系 统资源. Spring中提供了如下几种动态切入点的实现,说明如下: 1.ControlFlowPointcut:控制流程切入点.比如只有在某个特定的类或方法中调用某个连接点时, 装备才会被触发,这时就可以使用ControlFlowPointcut.但是它的系统开销很大,在追求高效的应用中 ,不推荐使用. 2.Dyn

关于spring aop切入点配置问题。

问题描述 我在的代码是这样的.<aop:config> <aop:aspect id="TestAspect" ref="aspectBean"> <!--配置com.spring.service包下所有类或接口的所有方法--> <aop:pointcut id="businessService" expression="execution(* com.catsic.business.**.ac

spring AOP 切入点方法作用的问题

问题描述 package com.longthsoft.learn.spring; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; @Aspect public class SimpleAspect { @Pointcut("execution(* com.longth

Spring学习(二) IoC详解

上次的博客深入浅出Spring(一)Spring概述中,我给大家简单介绍了一下Spring相关概念.重点是这么一句:Spring是为了解决企业应用开发的复杂性而创建的一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架.在这句话中重点有两个,一个是IoC,另一个是AOP.今天我们讲第一个IoC. IoC概念 控制反转(Inversion of Control)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题. 它还有一个名字叫做依赖注入(Dependency Injection)

Spring 2.5标注开发的简单例子

研究了很久新出的 Spring 2.5, 总算大致明白了如何用标注定义 Bean, 但是如何定义和注入类型为 java.lang.String 的 bean 仍然未解决, 希望得到高人帮助. 总的来看 Java EE 5 的标注开发方式开来是得到了大家的认可了. @Service 相当于定义 bean, 自动根据 bean 的类名生成一个首字母小写的 bean @Autowired 则是自动注入依赖的类, 它会在类路径中找成员对应的类/接口的实现类, 如果找到多个, 需要用 @Qualifier

spring mvc-filter如何对静态资源.css/.js/.jpg不进行过滤

问题描述 filter如何对静态资源.css/.js/.jpg不进行过滤 1C web.xml中filter配置 <filter> <filter-name>loginFilter</filter-name> <filter-class>com.cbt.Interceptor.LoginFilter</filter-class> <init-param> <param-name>loginPage</param-na