dfkt.net
当前位置:首页 >> spring Aop原理详解 >>

spring Aop原理详解

原理AOP(Aspect Oriented Programming),也就是面向方面编程的技术.AOP基于IoC基础,是对OOP的有益补充. AOP将应用系统分为两部分,核心业务逻辑(Core business concerns)及横向的通用逻辑,也就是所谓的方面Crosscutting

Spring AOP是编程框架AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向方面编程.AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现.

首先楼主需要明白“事物处理”的概念 AOP主要是针对事物处理来说吧,而且是相对于以前的编程式事物处理的,不用AOP的话,我们得通过硬编码的方式将事物处理写在方法中,有了AOP之后,我们只需要在spring的配置文件中配置一下事物就可以了,这就叫声明式事物处理.一般配置时是通过配置匹配某个格式的方法名,当运行到这种方法的时候spring就会拦截下它来,并给它加上事物的处理了 通俗点讲spring的AOP相当与电脑中主板的作用.主板:就是把各种元器件连接到其上,统一由其管理,避免了元器件与与器件之间连接的混乱

IOC:控制反转也叫依赖注入.利用了工厂模式 将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象.在spring容器启动的时候,spring会把你在配置文件中

一、 IoC(Inversion of control): 控制反转 1、IoC: 概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系 核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean 二、AOP(Aspect-

本人暂且把spring 中的aop理解成一种方法的拦截器(可能有所片面,主要是方便理解).个人通俗理解,就好比你去自动取款机取钱,边上装了个摄像头在监视着.你取你的钱,不用管那摄像头干嘛,只是对于摄像头来说,已经把你取钱的这

Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中.所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP.Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务.通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中.

spring的核心就在于他的ioc(控制反转)和aop(面向切面编程),ioc就是用来管理所有的业务对象,aop也就是可以在调用的方法前后可以附加另外的行为

这个当时我自己学习了下,顺便再我的博客里面总结了一下:spring的两种代理jdk和cglib的区别浅谈: java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用invokehandler类来处理; 而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码的子类来处理. 1>如果目标对象实现了接口,默认情况下会采用jdk的动态代理实现aop; 2>如果目标对象实现了接口,可以强制使用cglib实现aop; 3>如果目标对象没有实现了接口,必须采用cglib库,spring会自动在jdk动态代理和cglib之间转换;

既然你问ioc 你就一定知道spring.sring中所有的bean对象管理都依赖于di/ioc,spring作为一个web级容器,它把所有的class类都可以转换为一个bean对象来管理,通过加载、实例这个bean对象,将它全部交给beanfactory来管理,在你通过applicationcontext.xml来使用和对其他bean注入的这个过程,可以理解为ioc,使用ioc可以降低项目的耦合度,实现类与类之间的无依赖性.aop是面向切面编程,可以在项目中指定的位置执行指定的操作,例如事务管理,可以在所有非query的方法执行后都执行一次事务提交的操作.不需要修改代码,通过xml配置 就可以完成这个操作.

网站首页 | 网站地图
All rights reserved Powered by www.dfkt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com