Spring AOP(二)(Spring中基于AOP的@AspectJ)
来源:互联网 发布:软件编程 找工作多少钱 编辑:程序博客网 时间:2024/04/24 13:52
@AspectJ 作为通过 Java 5 注释注释的普通的 Java 类,它指的是声明 aspects 的一种风格。
声明一个Aspect->声明一个切入点(需在xml配置文件中添加<aop:aspectj-autoproxy/>)
代码示例:
1.poem.xml(注意添加Spring AOP依赖的jar包aspectjrt.jar aspectjweaver.jar)
<dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.8.10</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.6.8</version>
2.创建Student.java
public class Student {private int age;private String name;public Student() {}public int getAge() { return age;}public void setAge(int age) { this.age = age;}public String getName() { return name;}public void setName(String name) { this.name = name;}@Overridepublic String toString() { return "Student{" + "age=" + age + ", name='" + name + '\'' + '}';}}
3.创建Logger.java
package com.ruanjianlin.demo;import org.aspectj.lang.annotation.*;/** * Created by ruanjianlin on 2017/10/19. */@Aspectpublic class Logger {@Pointcut("execution(* com.ruanjianlin..demo.*.*(..))")private void selectAll(){}@Before("selectAll()")public void beforeAdvice(){ System.out.println("beforeAdvice");}@After("selectAll()")public void afterRunning(){ System.out.println("afterRunning");}@AfterThrowing(value = "selectAll()",throwing = "ex")public void afterThrowing(IllegalArgumentException ex){ System.out.println("afterThrowing"+ex.toString());}@AfterReturning(value = "selectAll()",returning = "val")public void afterReturning(Object val){System.out.println("afterRturning"+val.toString());}}
4.application.xml配置
<bean id="logger" class="com.ruanjianlin.demo.Logger"></bean><bean id="student" class="com.ruanjianlin.demo.Student"><property name="name" value="ruanjinlin"/><property name="age" value="21"/></bean><aop:aspectj-autoproxy/>
5.测试类的使用
ApplicationContext context = new ClassPathXmlApplicationContext("application.xml");Student student = (Student) context.getBean("student");student.getName();student.getAge();
6.运行结果
beforeAdviceafterRunningafterRturningruanjinlinbeforeAdviceafterRunningafterRturning21
阅读全文
0 0
- Spring AOP(二)(Spring中基于AOP的@AspectJ)
- 9.4.Spring 中基于 AOP 的 @AspectJ
- Spring-AOP:基于AspectJ注解的AOP
- Spring Aop(二)——基于Aspectj注解的Aop简单实现
- [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.
- AOP(AspectJ、Spring AOP)
- zz 基于@AspectJ配置Spring AOP(之二)
- Spring---AspectJ的AOP
- Spring----AspectJ的AOP
- Spring的基于AspectJ的AOP开发
- Spring基于annotation的AOP(AspectJ)
- Spring基于注解@AspectJ的AOP
- Spring基于注解@AspectJ的AOP
- Spring详解------------基于@ASpectJ的AOP
- spring基于AspectJ的AOP编程
- 基于@AspectJ配置Spring AOP
- spring aop(四)--基于@AspectJ
- Spring AOP基于@AspectJ开发
- SPOJ简介
- 使用Github +Jekyll 创建blog
- mysql数据的卸载方法
- 集训Day1 T3 整除
- JSP中的page、request、session、application四大作用域
- Spring AOP(二)(Spring中基于AOP的@AspectJ)
- 堆的介绍和其构造 C++
- 微信小程序之----上传图片
- Codevs 3315 时空跳跃者的魔法
- 欧几里德算法求最大公约数c++
- 闭包
- 关于python面向对象编程(一)
- 小白+最小生成树Krusckal代码
- Myeclipse的web项目的WEBROOT->WEB-INF中web.xml