`

spring集成aspectj

阅读更多
	<!--支持spring注解-->
	<context:annotation-config />  
	<context:component-scan base-package="xx" />
	<!--支持aspectj注解,注意设置proxy-target-class为true,强制使用cglib-->
	<aop:aspectj-autoproxy proxy-target-class="true"/>


@Aspect
@Component
public class TickLogInterceptorWithAspectJ
{
    public void pointCut()
    {
    }
    
    @Around("execution(* xx..*.CarMaker.make*(..))")
    public Object tick(ProceedingJoinPoint joinPoint)
    {
        System.out.println(MessageFormat.format("enter method: {0}.{1}, params: {2}",
            joinPoint.getSignature().getDeclaringTypeName(),
            joinPoint.getSignature().getName(),
            getParamsString(joinPoint.getArgs())));
            
        try
        {
            Object o = joinPoint.proceed(joinPoint.getArgs());
            
            System.out.println(MessageFormat.format("exit method: {0}.{1}, result: {2}",
                joinPoint.getSignature().getDeclaringTypeName(),
                joinPoint.getSignature().getName(),
                o));
                
            return o;
        }
        catch (Throwable e)
        {
            return null;
        }
    }
    
    private String getParamsString(Object[] params)
    {
        return Joiner.on(",").join(Arrays.asList(params));
    }
}
分享到:
评论

相关推荐

    spring基于AspectJ实现事务控制

    这通常涉及到添加`&lt;aop:aspectj-autoproxy&gt;`标签,它指示Spring使用AspectJ代理来创建bean。 ```xml &lt;aop:aspectj-autoproxy /&gt; ``` 2. **定义事务切面**:创建一个包含事务处理逻辑的切面类,该类通常会包含一...

    spring aspectj.jar

    这个库使得AspectJ可以在没有JDK修改的情况下运行,是Spring AOP与AspectJ集成的基础。 在Spring中使用AspectJ,我们通常有两种方式:一种是使用AspectJ的编译时或加载时织入,这需要配置AspectJ的编译器或加载器;...

    Spring 使用AspectJ 实现 AOP(基于xml文件、基于注解)

    Spring支持两种方式集成AspectJ:编译时织入(使用ajc编译器)和运行时织入(使用Spring代理)。运行时织入更灵活,不需要改变原有的编译过程,但可能性能稍逊。 **五、AspectJ的切点表达式** AspectJ提供了一种...

    jar包---Spring Aop AspectJ新增包.rar

    在Spring框架中集成AspectJ,可以实现更细粒度的控制和更灵活的切面定义。 在Java开发中,`jar`包是Java Archive的缩写,是Java平台的标准打包格式,包含了类文件和其他资源。在"jar包---Spring Aop AspectJ新增包....

    Spring AspectJ的学习一

    本文将深入探讨如何在Spring框架中集成AspectJ,以及如何利用它来实现高效和灵活的代码组织。 ### 1. Spring AOP与AspectJ Spring AOP是Spring框架的一部分,提供了一种声明式的方式来处理横切关注点。然而,...

    Spring 使用AspectJ 实现 AOP

    在Spring中,我们可以使用AspectJ来实现AOP,AspectJ是一个强大的AOP框架,它可以与Spring无缝集成,提供更细粒度的控制。 首先,让我们了解一下AOP中的通知类型: 1. **前置通知**(Before Advice):在目标方法...

    aspectj的jar spring使用aop需要的jar

    4. **`aspectjweaver.jar`**:这个库是Spring与AspectJ集成的关键,它是一个类装载器代理,可以在Spring应用上下文中自动织入AspectJ切面。当你在Spring配置中启用`&lt;aop:aspectj-autoproxy&gt;`时,Spring会使用AspectJ...

    spring-aspectj-ltw-xml-based-demo

    本示例"spring-aspectj-ltw-xml-based-demo"聚焦于Spring框架如何与AspectJ集成,利用面向切面编程(AOP)来实现灵活的代码结构。AspectJ是一种强大的面向切面的编程语言扩展,它允许开发者在不改变原有业务逻辑的...

    spring-aspectj-sample:在 Spring 框架 4 中使用 AspectJ 的示例

    7. **Spring集成AspectJ**:在Spring 4中,可以通过引入`aspectjweaver`和`aspectjrt`依赖,启用AspectJ支持。然后,可以使用`@Aspect`注解定义切面,`@Before`, `@After`, `@Around`, `@AfterThrowing` 和 `@After...

    spring-instrument源码

    `org.springframework.context.weaving.AspectJ Weaver`是Spring集成AspectJ的关键组件,它负责在类加载时找到并应用切面。在源码中,可以看到它如何与AspectJ的`织入代理`(WeavingAdviser)协同工作,确保切面在...

    spring源码导入所需aspectj包

    Spring与AspectJ的集成使得我们可以在Spring应用中充分利用AOP的优势。 AspectJ包含了自己的编译器和类装载器,可以在编译时或运行时织入切面。`aspectj-1.9.6.jar`是AspectJ库的一个版本,它包含了运行时支持和...

    Spring的AOP依赖包-AspectJ

    Spring的AOP(面向切面编程)是一种强大的编程模型,它允许程序员在不修改源代码的情况下,通过插入额外的...在Spring4.3.7版本中,AspectJ的集成进一步完善了Spring的AOP框架,为开发者提供了更丰富的工具和可能性。

    AspectJ in Action: Enterprise AOP with Spring Applications

    1. **Spring-AspectJ集成:**本书重点介绍了Spring框架与AspectJ相结合的技术优势及其在企业级应用中的强大功能。 2. **面向切面编程(AOP):**深入探讨了AOP的概念、原理及其实现方式,特别是如何利用AspectJ进行...

    spring AspectJ aop学习

    在Spring中,通过集成AspectJ,我们可以利用AspectJ的语法来定义切面,比如: ```java @Aspect public class LoggingAspect { @Before("execution(* com.example.service.*.*(..))") public void logBefore...

    Spring AOP + AspectJ annotation example

    AspectJ注解是与Spring AOP集成的一种方式,使得我们可以直接在Java类和方法上定义切面。例如,`@Aspect`注解标记一个类为切面,`@Before`、`@After`、`@Around`、`@AfterReturning`和`@AfterThrowing`分别用于定义...

    《Java EE企业开发框架》 Spring AOP实验报告

    - 在本实验中,通过Spring集成AspectJ来实现AOP。首先需要在项目的pom.xml文件中添加AspectJ的依赖: ```xml &lt;groupId&gt;org.aspectj &lt;artifactId&gt;aspectjweaver &lt;version&gt;1.9.4 ``` - 然后,在`MyAspect`...

    AspectJ for Spring Developers

    Spring对AspectJ的集成使得开发者可以在Spring应用中无缝地使用AspectJ,从而更好地管理横切关注点。通过配置,可以将AspectJ的切面与Spring bean一起管理,实现更灵活的AOP应用场景。 综上所述,《AspectJ for ...

    Spring集成Hibernate所需jar包

    下面将详细介绍Spring集成Hibernate所需的jar包以及它们各自的作用。 1. **Spring框架**: - Spring核心模块:包括`spring-context`, `spring-beans`, `spring-core`, `spring-expression`等,提供依赖注入(DI)...

    征服Spring AOP—— @AspectJ

    @AspectJ是AspectJ项目的一部分,但已被Spring框架集成,使得在Spring应用中使用AspectJ变得更加方便。使用@AspectJ,我们可以创建一个包含切面逻辑的类,并通过注解来声明切点(pointcuts)和通知(advisors)。...

    Spring AOP 概念理解及@AspectJ支持

    Spring AOP可以与其他Spring工具和组件无缝集成,如Spring MVC、Spring Data等。同时,通过Spring Boot的自动配置,我们可以轻松启用AOP并配置切面。此外,IDEs如IntelliJ IDEA和Eclipse提供了强大的AOP支持,包括...

Global site tag (gtag.js) - Google Analytics