`
fys124974704
  • 浏览: 138509 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

Aspectj 入门(一)

    博客分类:
  • Java
阅读更多

      由于Spring的配置过多,个人不喜欢!但是又想使用一下AOP,所以选择了Aspectj ,用起来比Spring自然一点,至少不用我去写那些可恶的配置文件!

      讲讲Aspectj怎么用,首先去eclipse官方下载一个Aspectj的插件,挺好用的!安装到eclipse里面,安装步骤省略!

      入门先讲讲前拦截和后拦截

      先写两个Java文件

 

    

public class Test {
	public static void main(String[] args) {
		HelloWorld.deliver("Wanna learn AspectJ?");
		HelloWorld.deliver("Harry", "having fun?");
		HelloWorld.round("round");
	}
}

 

 

public class HelloWorld {
	public static void deliver(String message) {
		System.out.println(message);
	}

	public static void deliver(String person, String message) {
		System.out.print(person + ", " + message);
	}

 	public static void round(String s){
 	 	 System.out.println(s);
 	}
}

 

 

 

这两个文件可以运行,肯定没有问题!因为....太简单了!

 

再写一个拦截上面两个方法的类

aspect MannersAspect {
	// 定义切点 并且指明在哪个方法
	pointcut deliverMessage() : call(* HelloWorld.deliver(..));

	pointcut afterMessage() : call (* HelloWorld.deliver(..));
	
	pointcut roundMessage(String s) : call (* HelloWorld.round(String)) && args(s);
	// 方法前拦截
	before() : deliverMessage() {
		System.out.println("before! ");
	}

	// 方法后拦截
	after() : afterMessage(){
		System.out.println("after! ");
	}

	 void around(String s) : roundMessage(s) {
  		proceed("99 "+s+" 00 ");
 	}
	
}

  

 

为什么建议使用eclipse插件呢,因为没有插件这个类会报错的!不能编译怎么运行呢?是不是!

 

 

 

简单的入门  完

分享到:
评论

相关推荐

    Spring AOP @AspectJ 入门实例

    @AspectJ是Spring AOP的一个扩展,它提供了一种更接近传统编程的注解驱动的方式来定义切面。接下来,我们详细讲解如何使用@AspectJ进行切面定义: 1. **创建切面类**:首先,你需要创建一个Java类,并使用`@Aspect`...

    Spring @AspectJ 实现AOP 入门例子

    本篇文章将深入探讨如何利用Spring的@AspectJ注解来实现AOP,这是一个入门级别的例子,旨在帮助开发者理解并掌握这一关键特性。 首先,我们要明白什么是AOP。面向切面编程是一种编程范式,它允许程序员定义“切面”...

    Aop之AspectJ详解解读demo

    本文将深入探讨AspectJ的使用、框架结构及其应用场景,并通过一个入门实例进行详细解释。 **一、AspectJ简介** AspectJ是一个完整的AOP系统,它扩展了Java语言,引入了新的语法来定义切面和连接点(join points)...

    AspectJ_Cookbook_English_edition

    《AspectJ Cookbook》是一本专为开发者准备的指南,它深入介绍了AspectJ这一强大的面向切面编程(AOP)框架。面向切面编程是一种编程范式,旨在提高软件的可维护性和可重用性,通过将关注点分离,使得业务逻辑与系统...

    spring AOP 实例(@AspectJ)

    一个基于@AspectJ的spring2.0 AOP应用实例,很小很简单,没有任何额外信息,最适合AOP入门学习。使用log4j打印信息。把项目直接import进myeclipse就可以使用啦......

    基于AspectJ的AOP开发案例源码.rar

    aspectj的Aop开发的入门学习案例 demo1是aspectj的Aop开发,用于用户是否登录的验证,使用注解来实现,在切面类中配置好切入点。优点:方便快捷 demo2是aspectj的Aop开发,用于用户是否登录的验证,在xml中配置好切...

    AspectJDemo:AspectJ开始演示

    Android AOP 学习入门 目前android上应用的比较多的AOP框架是AspectJ android studio 集成 在项目根目录的build.gradle中增加依赖: buildscript { repositories { jcenter() } dependencies { ... classpath ...

    spring2-aop入门实例教程

    #### 三、AspectJ入门 - **AspectJ介绍**:AspectJ是一个流行的AOP框架,它提供了比Spring更为强大的AOP功能。 - **AspectJ的下载与安装**:可以从官方网站下载AspectJ的最新版本,并按照官方文档进行安装配置。 - *...

    spring 入门例子学习文档

    ### Spring入门例子学习文档知识点概览 #### 一、Spring框架概述 - **Spring与控制反转(IoC)** - **依赖反转**:在面向对象编程中,一个类依赖于另一个类时,通常需要创建依赖类的实例并传递给需要它的类。这种...

    SpringAOP简单入门示例..pdf

    AspectJ 是一个功能强大且灵活的 AOP 实现工具。Spring 的 AOP 模块提供了一个面向方面的编程模型,将系统中的横切性关注点模块化,并将其与业务逻辑分离。 在本示例中,我们将展示如何使用 Spring AOP 来记录系统...

    一个hellword例子

    描述中提到的"更方便大家入门,一种不错的技术"表明AspectJ是一种易于学习且功能强大的工具,对于理解和实践AOP概念非常有帮助。它使得我们可以更专注于核心业务逻辑,而不必关心那些横切关注点的实现。 在AspectJ...

    Spring 入门案例——AOP

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来实现横切关注点,如日志、事务管理、性能监控等。本入门案例将帮助你理解并掌握Spring AOP的基本概念和使用方法。 在...

    最简单的SpringAOP入门案例

    本教程将通过一个简单的Spring AOP入门案例,帮助初学者理解这一概念。 ### 一、AOP基础 1. **切面(Aspect)**:切面是关注点的模块化,它封装了跨越多个对象的行为或数据。在Spring AOP中,切面可以由一个类定义...

    spring AOP入门实例

    在这个入门实例中,我们将深入理解Spring AOP如何实现简单日志记录。 首先,AOP的核心概念包括切面(Aspect)、通知(Advice)、连接点(Join Point)、切入点(Pointcut)和织入(Weaving)。切面是AOP中的核心...

    学习Spring(一)入门

    在本篇【学习Spring(一)入门】的学习中,我们将探讨Spring框架的基础知识,这是一个广泛应用于Java企业级应用的开源框架。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented ...

    AspectJ Eclipse Plugin-开源

    AspectJ Eclipse Plugin是一款开源的开发工具,它专为Eclipse集成开发环境(IDE)设计,目的是为了让AspectJ编程语言的使用更加便捷和高效。AspectJ是一种面向切面编程(AOP)的语言扩展,它允许开发者在传统的面向...

    Spring Framework中的AOP编程之入门篇

    本篇文章将深入探讨AOP编程的基础概念,并提供一个简单的入门指南。 一、AOP的基本概念 1. 切面(Aspect):切面是关注点的模块化,它封装了横切关注点。在Spring中,切面可以由一个或多个通知(advises)和一个...

Global site tag (gtag.js) - Google Analytics