首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

AOP有关术语的理解

2012-09-19 
AOP相关术语的理解面向切面编程AOP ---切面提供了一种取代继承和委托的方式?AOP中的术语:?通知:就是程序的

AOP相关术语的理解

面向切面编程AOP ---切面提供了一种取代继承和委托的方式

?

AOP中的术语:

?通知:就是程序的功能,比如 安全、事务、日志等

连接点:和方法有关的前前后后,都是连接点

切入点:说明在哪儿干

切面:通知和切入点相互结合

引入:允许我们向现在的类中添加新的方法和属性,把切面用到目标类中

目标:引入中提到的目标类

织入:吧切面应用到目标对象来创建新的代理对象的过程。

代理:就是向目标对象应用通知后被创建的对象。

?

spring对AOP的支持局限于方法的注入,spring创建的全部通知都是用标准的java类编写的,,定义通知所应用的切点通常是以XML文件的方式在spring配置文件中配置的。

?

spring利用代理类来包裹切面,从而把他们织入到spring管理的bean中,在代理借钱方法调用之后,实际调用的目标bean方法之前,代理会执行切面逻辑。

?

spring生成代理类的方式有两种:

1、如果目标对象实现的是一个接口,spring会使用jdk的proxy类,它允许spring动态生成一个新的类来实现必要的接口,织入任何的通知,并把对这些接口的任何调用都转发给目标类。

2、如果目标类不是一个实现一个接口,spring就会使用CGLIB库生成目标类的一个子类,在创建这个子类时,spring织入通知,并且把这个子类的调用委托到目标类

?

引入aop 的namespace

?

?

基于pojo的aop的xml文件配置

?

定义通知

package com.hnie.demo.service.impl;public class Inform {public void before(){System.out.println("在方法之前执行");}public void end(){System.out.println("在方法之后执行");}public void excepition(){System.out.println("在遇到异常时执行");}}

?

?

?

?

?

?

?

热点排行