`
seastar09
  • 浏览: 16657 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

spring中的AOP(具体概念)

阅读更多
AdviceAspect的具体实现称之为Advice,以记录的动作而言,Adviee中会包括日志记录程序代码是如何实现的,像是DynamicProxyDemo项目中的 LogHandler类就是Advice的一个具体实例,Advice中包括了Cross-cutting concerns 的行为或所要提供的服务。
Joinpoint
Aspect在应用程序执行时加入业务流程的点或时机称之为Joinpoint,具体来说,就是 Advice在应用程序中被执行的时机,这个时机可能是某个方法被执行之前或之后(或两者都有),或是某个异常发生的时候。
Pointcut
Pointcut是一个定义,藉由这个定义,您可以指定某个Aspect在哪些Joinpoint时被织入至应用程序之上。具体地说,您可以在某个定义文件中编写Pointcut,当中说明了哪些Aspect 要应用至织入程序中的Joinpoint。
Target 一个Advice被应用的对象或目标对象,例如DynamicProxyDemo项目中的HelloSpeaker 就是LogHandler这个Advice的Target。
Introduction对于一个现存的类,Introduction可以为其增加行为,而不用修改该类的程序,具体地说,可以为某个已编写、编译完成的类,在执行时期动态加入一些方法或行为,而不用修改或新增任何一行程序代码。
Proxy 在”Expert One-on-One JZEE Development without EJB”,一书中,Rod Johnson、Juergen Hoener在第八章中有提到,AOP的实现有五个主要的策略:Dynamic Proxies、Dynamic Byte Code Generation、Java Code Generation、Use of a Custon Class Loader、Language Extensions。
在之前静态代理与动态代理中,己经使用实际的程序范例介绍过代理机制,Spring 的 AOP主要是透过动态代理来完成。
Weave
Advice被应用至对象之上的过程称之为织入(Weave) ,在AOP中织入的方式有几个时间点:编译时期(Compile time)、类加载时期(Classload time)、执行时期(Runtime)。
不同的 AOP 框架会有其对 AOP 概念的不同实现方式,主要的差别在于所提供的 Joinpoints 、 Aspects 的丰富程度,以及它们如何被织入( Weave )至应用程序(像是 Pointcuts 的定义方式)。
Spring 的Advice用 Java 程序语言来编写,而不使用特定的 AOP 语言,在定义 Pointcuts 时可以使用XML 配置文件,这两者的编写对于 Java 开发人员来说都很熟悉,您不必学习特定的语法,就可以用熟悉的 Java 程序语言与 XML 格式来运用 Spring AOP。
分享到:
评论

相关推荐

    Spring-AOP.zip

    spring aop的具体实现与理论.AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构...

    Spring学习day03(Spring中的AOP)

    一、AOP的相关概念 1、AOP概述 (1)什么是AOP AOP:全称是Aspect Oriented Programming,即:面向切面编程。 简单的说它就是把程序中重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的...

    Spring+3.x企业应用开发实战光盘源码(全)

     第6章:我们从Spring AOP的底层实现技术入手,一步步深入到Spring AOP的内核中,分析它的底层结构和具体实现。  第7章:对如何使用基于AspectJ配置AOP的知识进行了深入的分析,这包括使用XML Schema配置文件、...

    Spring3.X编程技术与应用,完整扫描版

    全书分3篇共21章,具体内容包括:Spring环境的安装与使用、JSP与JSTL简介、 Spring基础概念与工具、用SpringJdbcTemplate访问数据库、使用Mayen工程、Spring MVC编程、基于 MVC的资源共享网站设计、Spring的AOP编程...

    spring源码详解

    二、AOP相关概念 (1)切面 (Aspect) 交叉业务,也就是通用的业务逻辑,比如日志、事务。 (2)通知(Advice) 切面的具体实现 (3)连接点 (Jointpoint) 切面可以插入的地点,主要有方法、属性 ...

    SSM框架的学习与应用-Java EE企业级应用开发学习记录-(第六天)初识Spring框架

    Spring框架简介:对Spring框架的基本概念进行介绍,包括依赖注入(DI)和面向切面编程(AOP)等核心特性,以及Spring的优点和在Java EE开发中的作用。 Spring IoC的控制反转实例:通过一个示例演示了使用Spring的...

    Spring.3.x企业应用开发实战(完整版).part2

    5.6.2 解构Spring事件体系的具体实现 5.6.3 一个实例 5.7 小结 第6章 Spring AOP基础 6.1 AOP概述 6.1.1 AOP到底是什么 6.1.2 AOP术语 6.1.3 AOP的实现者 6.2 基础知识 6.2.1 带有横切逻辑的实例 6.2.2 JDK动态代理 ...

    Spring Security 中文教程.pdf

    5.5. Spring Security中的访问控制(验证) 5.5.1. 安全和AOP建议 5.5.2. 安全对象和AbstractSecurityInterceptor 5.5.2.1. 配置属性是什么? 5.5.2.2. RunAsManager 5.5.2.3. AfterInvocationManager ...

    陈开雄 Spring+3.x企业应用开发实战光盘源码.zip

     第6章:我们从Spring AOP的底层实现技术入手,一步步深入到Spring AOP的内核中,分析它的底层结构和具体实现。  第7章:对如何使用基于AspectJ配置AOP的知识进行了深入的分析,这包括使用XML Schema配置文件、...

    Spring面试题

    ☆ Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象...

    Spring3.x企业应用开发实战(完整版) part1

    5.6.2 解构Spring事件体系的具体实现 5.6.3 一个实例 5.7 小结 第6章 Spring AOP基础 6.1 AOP概述 6.1.1 AOP到底是什么 6.1.2 AOP术语 6.1.3 AOP的实现者 6.2 基础知识 6.2.1 带有横切逻辑的实例 6.2.2 JDK动态代理 ...

    spring security 参考手册中文版

    12.2.3使用RequestPostProcessor在Spring MVC测试中以用户身份运行 106 作为用户在Spring MVC测试中使用注释运行 108 12.2.4测试HTTP基本认证 109 12.3 SecurityMockMvcRequestBuilders 109 12.3.1测试基于表单的...

    Spring Security-3.0.1中文官方文档(翻译版)

    这次发布的Spring Security-3.0.1 是一个bug fix 版,主要是对3.0 中存在的一些问题进 行修 正。文档中没有添加新功能的介绍,但是将之前拼写错误的一些类名进行了修正,建议开发 者以这一版本的文档为参考。 ...

    SpringSecurity 3.0.1.RELEASE.CHM

    5.5. Spring Security中的访问控制(验证) 5.5.1. 安全和AOP建议 5.5.2. 安全对象和AbstractSecurityInterceptor 5.5.2.1. 配置属性是什么? 5.5.2.2. RunAsManager 5.5.2.3. AfterInvocationManager 5.5.2.4...

    基于maven项目的SSM框架与layu前端框架的代码

    将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。 实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,...

    java8源码-somethingnew:各种演示在这里

    学习使用,了解基础概念 spring-boot-starter-skeleton 和 uboost 本意提供一个框架用于像feign,mybatis一样对接口进行自定义的实现与增强。其中具体的逻辑可以自定义。 stn-annotation 基于spring-aop实现的bean...

    Java语言基础下载

    继承关系树的每个具体类对应一个表 696 创建映射文件 696 操纵持久化对象 698 选择继承关系的映射方式 699 映射多对一多态关联 702 内容总结 705 独立实践 705 第三十六章:HQL介绍 706 学习目标 706 HQL的出现 707 ...

    免费分享 Java面试笔记 面试八股文 计算机网络基础

    本内容属于免费分享,如有积分变动请评论联系;...Spring:IOC、AOP、声明式事务、MVC等;Redis:持久化过程、高可用实现、缓存设计、应用场境等。 所有文档都是md格式,方便阅读,图文并茂便于理解。

    软件系统设计方案.pdf

    其AOP特性,对重复模块进⾏集 中,实现事务,⽇志,权限的控制;SpringMVC是使⽤了MVC设计思想的轻量级web框架,对web层进⾏解耦,与Spring⽆缝衔接,有着灵 活的数据验证,格式化,数据绑定机制;Mybatis中数据库的...

    java面试题

    73.5. 项目中如何体现Spring中的切面编程,具体说明。 77 73.6. 项目中用到的Spring中的切面编程最多的地方:声明式事务管理。 77 73.7. spring的事务如何配置 77 73.8. transaction有那几种实现(事务处理)(Spring) ...

Global site tag (gtag.js) - Google Analytics