- 浏览: 822164 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (488)
- struts1 (4)
- spring (13)
- extjs (36)
- mysql (3)
- sqlserver (2)
- oracle (37)
- 杂谈 (11)
- 面试相关 (35)
- Java基础知识总结 (5)
- Java重要知识点 线程和io流知识点 (6)
- 服务器相关 (1)
- 生活 (1)
- jsp (7)
- servlet (2)
- junit (3)
- struts2 (9)
- 开发必备 (4)
- 使用开发工具总结的知识 (4)
- ibatis (12)
- ajax (2)
- dwr (2)
- jquery (1)
- 设计模式 (4)
- Lucene的学习 (5)
- 经验总结 (19)
- mysql全文搜索相关 (7)
- hibernate (33)
- Sphinx (1)
- log4j的总结 (1)
- 敏捷开发 (9)
- 持续集成 (15)
- UML使用总结 (1)
- Scrum (1)
- OO(面向对象编程) (1)
- struts1和struts2总结 (1)
- 数据库加密 (1)
- 多线程和Socket编程 (6)
- PowerDesigner (2)
- 权限相关 (1)
- ant应用总结 (4)
- 面试必知知识点总结 (6)
- io流与nio流总结 面试相关 (1)
- 敏捷管理工具的使用 (7)
- hsqldb相关 (1)
- svn源码相关 (2)
- debug调试技巧总结 (1)
- hibernate和ibatis对比相关 (6)
- eclipse mylyn 插件的使用总结 (2)
- fisheye使用总结 (2)
- java泛型总结 (1)
- ssh整合总结 (10)
- SpringSide的学习总结 (1)
- JPA学习总结 (2)
- RoR 总结 (2)
- 模型驱动 总结 (1)
- Oracle SQL优化技巧 (4)
- 数据库相关资料 (1)
- oracle练习相关 (4)
- PowerDesigner 使用总结 (2)
- Struts实现国际化相关 (2)
- 权限框架 Spring Security (1)
- freemarker使用总结 (1)
- jsp servlet总结相关 (3)
- Java NIO总结 (1)
- 自己学习必须 (3)
- 蝴蝶容器相关 (2)
- eclipse插件的使用 (1)
- myeclipse的使用 (1)
- flex相关 (1)
- javaeye重生后总结的知识点 (2)
- 公司学习总结 (3)
- JAXB 相关 (1)
- ECSide (1)
- EdoJs 企业ajax框架 (1)
- RSA加密算法 (1)
- jbpm相关 (1)
- JMF原理 (1)
- MyEclipse使用总结 (1)
- Funsion Charts 相关总结 (3)
- 常用知识2011 (2)
- Flex与Java整合 (1)
- IBM WebSphere相关 (1)
- jQuery使用技巧 (2)
- 2011年面试相关知识点总结 (2)
- sqlserver开发相关 (8)
- eclipse 打jar相关 (2)
- Oracle/Mysql/SqlServer比较 (1)
- WebService Axis1.4开发相关 (4)
- 进制数的转换 总结 (1)
- WebService Axis2.0开发相关 (0)
- iteye Struts2 Spring Hibernate整合相关 (3)
- iteye osgi资料相关总结 (1)
- iteye ifos相关相关 (1)
- iteye 国际化相关 (1)
- iteye Hibernate缓存机制 (4)
- iteye Struts2 总结 (1)
- iteye Struts标签总结 (0)
- iteye web配置文件大全 (6)
- iteye Efs 框架总结 (1)
- iteye sql优化 (2)
- iteye 大数据量高并发的数据库优化 (1)
- iteye 开发相关 (1)
- iteye s1sh 和 s2sh整合中的问题以及解决 (1)
- iteye s1sh整合实例 (1)
- iteye s2sh整合实例 (1)
- iteye 面试相关 基础篇 (1)
- iteye Android相关 (1)
- iteye 面试相关 Web篇 (1)
- iteye Sql Server相关 (0)
- iteye struts1与struts2比较 (1)
- iteye jquery 和Struts2 (0)
- iteye struts2与其他插件整合 (0)
- iteye jquery 开发相关 (1)
- iteye eclipse结合spket(Ext,Jquery)开发相关 (0)
- iteye myeclipse 使用技巧相关 (0)
- iteye Memcached 缓存系统相关 (0)
- iteye 常用软件相关 (0)
- iteye 最新技术预览 AjaxSwing (0)
- iteye struts上传下载相关 (0)
- iteye 新技术相关 (0)
- test (0)
- iteye 开发Java游戏相关 (0)
- iteye Java反编译 (0)
- iteye XML解析相关 (0)
- iteye 压缩ZIP相关 (0)
- iteye 面试相关 (0)
- iteye Android开发相关 (4)
- csdn (0)
- e-inoc (0)
- iteye http错误码对应说明 (0)
- iteye 面试扩展知识点 (0)
- iteye oracle面试相关 存储过程,触发器,游标等 (0)
- iteye english study (0)
- iteye starflow工作流引擎 (0)
- iteye IBM WebSphere Application Server Toolkit使用相关 (0)
- iteye spring3 (0)
- iteye mybatis (0)
- iteye js技巧总结 (0)
- iteye SEO优化相关 (2)
- iteye QUI网页界面集成框架 (1)
- iteye AjaxAnywhere (1)
- iteye Nutz相关 (1)
- iteye ibatis技巧 (0)
- iteye dwz (0)
- 128个ajax/javascript框架 (0)
- iteye 2012 Java Swing教程 (1)
- iteye 码头集装箱相关 (1)
- iteye swing (2)
- 兼职工作 (0)
- 2012 新总结的面试相关知识点 常用知识点 (1)
- 淘宝网店相关 (0)
- oracle 常用函数 2012新总结 (1)
- 我的时尚潮流屋 (0)
- 2012 年 面试新总结知识 (1)
- 技巧 (1)
- 2013总结 (1)
- 2015工作相关 (3)
- springmvc (5)
- EasyPR-Java (1)
- java (2)
- editplus 4.0 注册码 (1)
- android (1)
- oracle连接数据库相关 (1)
- 编程资料总结 (2)
- 20160808 (1)
- visio 2013 (1)
最新评论
-
drew926:
泛型的类型参数可以有多个?这是java哪个版本支持的?
java泛型总结 -
listenan:
赞!非常感谢。
Scrum总结 -
cwscwj:
写的很深刻,谢谢,看了一遍,过段时间打算再看一遍。
Scrum总结 -
hwedwin:
w
Struts 2中的OGNL\EL的使用总结 -
lanni2460:
不错 很好 支持……
sqlserver三个驱动包下载
一 AOP(Aspect oriented programming) 面向方面编程
OOP面向对象编程 AOP和OOP虽然在字面上十分相似,但却是面向不同领域的两种设计思想.OOP 是在面向过程的编程方法基础上进行的改进,而AOP面向方面编程又是在面向对象编程的基础上进行改进而来的一种新的软件开发方法.OOP针对问题领域中存在的实体及其属性和操作进行抽象和封装,而AOP则是针对业务处理过程中的切面进行提取. 例如: 某一操作在各个模块中都有涉及,就可把这个操作"横切"存在于系统当中,这些操作大都不属于逻辑操作的部分,AOP就是将这些操作与业务逻辑分离,AOP 所面对的是处理过程中的某个步骤或阶段. AOP的核心思想: 就是将应用程序中的业务逻辑处理部分同对其提供的通用服务部分即"横切关注点"进行分离. 二 Sping框架的特点 AOP的应用 Spring框架目前如此流行,大概一方面是Spring提供了一套全面并且十分成熟的轻型应用程序基础框架,对复杂的应用开发提供了帮助,另一方面,实际开发中Spring最大的优势在于它是从实际项目开发经验中抽取的,并提供了丰富的类库,可大大节省编码量,不过Spring框架中最吸引人的也是该应用框架最具特色的地方就是IoC控制反转或者DI依赖注入.比如说 不用你主动来找我,我会通知你的 但是Spring最成功的地方还是AOP的应用. Spring应用程序框架将AOP思想融入了整个框架的设计和开发与应用中,实际上是一种设计式的扩展.其内置AOP默认是使用动态代理模式实现,即在代码中不出现与具体要用到的接口或者类的引用. 即动态代理的核心技术 三 Spring动态代理机制的实现 通过动态Proxy模式,在目标对象的方法调用前后插入相应的处理代码,任何的接口都能被代理,也符合”面向接口编程”的良好风格. Spring实现原理,其内置的AOP默认使用动态代理模式实现,即在代码中不出现与具体应用相关的接口或者类引用.即这个代理类适用于任何接口的实现 例: public class MyInvocationHandler implements InvocationHandler { private Object originalObject; public Object bind(Object obj) { this.orginalObject = obj; return Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),this); } public Object invoke(Object proxy,Method method,Object [] args)throws Throwable { Object result = null; result = method.invoke(originalObject,args); return result; } } 分析一下上述代码的关键 return Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),this); java.lang.reflect.Proxy.newProxyInstance 方法根据传入的接口类型obj.getClass().getInterfaces() 动态构造出一个代理实例返回,这也说明为什么动态代理实现要求其所代理的对象一定要至少实现一个接口.因这个代理类实例是在运行时从内存中动态构造出的它实现了传入的所有接口. public Object invoke(Object proxy,Method method,Object [] args) throws Throwable { … result = method.invoke(originalObject,args) } InvocationHandler.invoke方法将在代理类的方法将在代理类的方法被调用之前触发.通过这个方法,我们可以在被代理类方法调用的前后进行一些处理,在上述方法中,InvocationHandler.invoke方法的参数中传递了当前被调用的方法Method,被调用方法的参数args,通过 method.invoke方法调用被代理类的原始方法实现.这样就可以在被代理类的方法调用前后写入任何想要进行的操作.
发表评论
-
Spring框架与AOP思想的研究与应用
2010-09-29 11:11 1249Spring框架与AOP思想的研 ... -
Spring AOP总结
2010-09-29 10:47 1476Spring AOP总结 Spring ... -
Spring参考手册 IOC
2010-09-29 10:41 1273Spring参考手册 IOC 概述 ... -
Spring参考手册 AOP
2010-09-29 10:39 1465Spring参考手册 AOP 概述 ... -
Spring总结之AOP
2010-09-29 10:35 1239Spring总结之AOP AOP( ... -
对Spring AOP中三种实现方式的总结
2010-09-29 10:34 1242aop: 1: 编程式: 其中,必须先自己从s ... -
Spring IoC控制反转总结
2010-09-28 09:21 1501Spring IoC控制反转总结 ... -
Spring 是什么 以及总结
2010-09-28 08:20 1291什么是spring Spring的 ... -
Spring Jar包
2010-09-18 21:57 1666Spring Jar包 spring.jar是包含 ... -
Spring的简单应用实例
2010-08-21 18:29 996Spring的简单应用实例 ... -
spring自己总结的知识
2010-08-15 13:52 950Spring:总结用XML配置的十二个最佳实践2007-05- ... -
spring笔记
2010-08-15 13:51 1068------------------------------- ...
相关推荐
Aspect-Oriented Programming 面向方面编程 简称AOP AOP所要做的事情就是从系统中分离出方面,然后集中实现,从面可以独立编写业务逻辑代码,在系统运行的时候,再将方面代码“织入”到系统中
【Aspect-Oriented Programming with AspectJ】是一种编程范式,旨在解决传统面向对象编程中模块化问题,特别是在处理横切关注点(如日志、事务管理、安全性等)时的代码分散和重复。AspectJ是Java平台上的一个开源...
### 面向切面编程(Aspect-Oriented Programming, AOP) #### 一、概述 面向切面编程(Aspect-Oriented Programming, AOP)是一种编程范式,旨在提高程序模块化程度,通过分离关注点(Separation of Concerns, SoC...
面向方面编程(Aspect Oriented Programming,AOP)是一种编程范式,旨在提高代码的模块化程度,通过将程序中的关注点分离,使代码更易于维护和扩展。在传统的面向对象编程(OOP)中,关注点通常是混合在一起的,...
Spring 2.5 是 Spring 框架的一个重要版本,它在面向切面编程(Aspect-Oriented Programming,AOP)方面提供了强大的支持。面向切面编程是一种编程范式,旨在将关注点分离,使代码更加模块化,尤其是处理那些跨越多...
Aspect-oriented software design (ASOD), which follows the Java philosophy of "write once, run anywhere", is a new way of thinking about program construction. It is a rapidly growing and evolving ...
### Spring AOP面向方面编程原理详解 #### 一、引言与定义 Spring AOP(Aspect Oriented Programming)是Spring框架中的一个核心组件,用于实现面向切面编程。AOP是一种编程范式,旨在将横切关注点(Cross-cutting...
为了解决这些问题,面向切面编程(Aspect-Oriented Programming, AOP)应运而生。 #### 面向切面编程的定义与作用 面向切面编程是一种旨在补充面向对象编程而非替代它的编程范式。它帮助开发者创建更为清晰和结构...
标题 "aop:aspect" 指涉的是Spring框架中的面向切面编程(Aspect-Oriented Programming, AOP)的一个核心概念。在Spring AOP中,`aop:aspect`是XML配置中定义一个切面的元素,它允许我们将关注点(如日志、事务管理...
面向方面编程(Aspect Oriented Programming,简称AOP)是一种程序设计范式,它作为面向对象编程(Object-Oriented Programming,简称OOP)的补充和发展。AOP的核心理念在于识别应用程序中的**横切关注点**(Cross-...
AOP(Aspect Oriented Programming):面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP是对OOP的补充,是软件开发中的一个热点,也是Spring框架中的一个重要内容。 利用AOP...
在这一阶段,程序员们开始意识到将程序分解为一系列独立的功能模块或方法的重要性,但尚未发展出如面向切面编程(Aspect-Oriented Programming,AOP)等更为先进的技术。 在面向方法编程的“原始时代”,开发者主要...
**一、面向切面编程(Aspect-Oriented Programming, AOP)简介** 面向切面编程是一种编程范式,旨在提高模块化程度,通过将横切关注点(cross-cutting concerns)从业务逻辑中分离出来,使开发者能够更专注于核心...
面向方面编程(AOP,Aspect-Oriented Programming)是一种编程范式,旨在解决传统面向对象编程(OOP)中横切关注点的问题。横切关注点是指那些跨越多个对象或模块,但又不直接属于单一模块职责的功能,如日志记录、...
在Java世界里,Spring框架是应用最广泛的轻量级框架之一,它的核心特性包括IOC(Inversion of Control,反转控制)和AOP(Aspect Oriented Programming,面向方面编程)。这两个概念是Spring框架的灵魂,极大地提升...
面向切面编程(Aspect-Oriented Programming,简称AOP)是一种在Java等编程语言中用于解决横切关注点(cross-cutting concerns)的编程范式。传统的面向对象编程(Object-Oriented Programming,OOP)虽然强大且广泛...
### 一、面向切面编程(Aspect-Oriented Programming, AOP)的基本概念 面向切面编程是一种编程范式,旨在提高软件模块化程度,通过分离关注点(Separation of Concerns, SoC)的方式将横切关注点(Cross-cutting ...
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,...
This book is written for software architects, engineers, and developers that want be able to write applications in a more modular and concise way, without learning Aspect or using languages other than...