Aop初步了解
2017-06-15 21:15
411 查看
AOP(aspect-oriented programming)
aspect是一种新型的模块化机制,用来描述分散在对象,类或函数中横切关注点。从关注点中分离出横切关注点是面向切面的程序设计的核心概念。分离关注点使解决特定领域问题的代码从业务逻辑中独立出来。业务逻辑的代码不在含有针对特定领域问题的代码调用,业务逻辑和特定领域问题通过切面来封装,维护。
一、术语
JoinPoints(织入点) :在应用中可能有很多个机会可以应用通知,这些机会就叫做织入点,织入点可能是正在调用的方法、正在抛出的异常或者是正在被修改的属性。Advice(通知):定义在连接点做什么,什么时候做,为切面增强提供接口。
Aspect(切面):JoinPoints+Advice
PointCuts(切点):切面具体执行的织入点,具体就是切面在何处执行
Weaving(编织):将切面与目标对象(target object)进行连接,可以在编译期、加载期、运行期
二、spring注解实现aop
//被代理类 @Component public class TargetObject { public void test(){ System.out.println("target Object is running"); } }
//切面类 @Component @Aspect public class AspectMethod { @Before("execution(public void demo.aspect.TargetObject.test())") public void printDateStart(){ System.out.println("startTime:"+new Date(System.currentTimeMillis())); } @After("execution(public void demo.aspect.TargetObject.test())") public void printDateEnd(){ System.out.println("endTime:"+new Date(System.currentTimeMillis()));; } }
//配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <context:annotation-config /> <context:component-scan base-package="demo.aspect"/> <aop:aspectj-autoproxy proxy-target-class="true"/> </beans>
//main运行类 public class Main { public static void main(String[] args) { FileSystemXmlApplicationContext ac=new FileSystemXmlApplicationContext("src/main/resource/beans.xml"); TargetObject test=ac.getBean(TargetObject.class); test.test(); } }
//结果
相关文章推荐
- Spring AOP初步了解
- Spring的AOP初步了解(四)
- Spring 学习之路(八):Spring 中的AOP(一):aop初步了解
- 对AOP的初步了解
- 面试被问Weex ,初步了解Weex,你看我就够了。
- iOS Dev (27) 初步了解下UIView的最常用知识
- AOP初步试验
- Tomcat服务器初步了解
- 背包初步了解
- 初步了解linux的文件系统
- XMPP协议初步了解
- 你真的了解Ioc与AOP吗?(2)
- the Maxnumber (对rmq问题的初步了解)
- 初步了解JND
- 你真的了解Ioc与AOP吗?(5)
- Java---线程池的初步了解
- 了解Ioc与AOP
- 菜鸟对EF的初步了解
- Java垃圾回收机制初步了解
- windows7 embedded 初步了解