Spring的AOP面向切面原理,IOC控制反转【也叫DI依赖注入】原理

AOP即面向切面:AOP技术利用一种称为“横切”的技术,解剖封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,这样就能减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。比如权限认证、日志、事务处理。
简言:把java对象进行横切; 即在对像执行功能时进行了插入;设置了切点;在对象执行操作前,后分别做点啥事;但又不影响对像自己的功能执行;
@Aspect 注解 使之成为切面类
@Pointcut("execution(public * com.MultipleDataSource.service.impl.*.*(..))") 使在用构造函数上面; 使之对部分类进行切点;
@Before("webLog()") 参数为构造方法 即对像构造之前执行的方法;
@AfterReturning(returning = "ret", pointcut = "webLog()") 参数为构造方法 即对像构造之前执行的方法;参数returning = "ret"获取方法执行结果值;ret是变量名接收返回值

【IOC】控制反转也叫【DI】依赖注入
IOC即是将对像的控制转给了spring容器;以前我们使用对像是自己new一个;然后再调对应的方法与属性;这叫主动控制;IOC即将生成对像的控制权交给了容器;IOC也是一种思想;以前对像之间相互调用;之间就存在了耦合,当代码复杂后耦合性就更强了;容易造成迁一发而动全身;使用了IOC容器后;各个对像之间都通过ioc进行运行;减少了耦合;
为什么也叫依赖注入;即通过容器将该对像生成后注入到对像中;使用有依赖关系的对像是通过IOC容器注入这种依赖关系的;

原文地址:https://www.cnblogs.com/yuhuiqing/p/10686867.html

时间: 2024-11-05 18:50:44

Spring的AOP面向切面原理,IOC控制反转【也叫DI依赖注入】原理的相关文章

谈谈php里的IOC控制反转,DI依赖注入

理论 发现问题 在深入细节之前,需要确保我们理解"IOC控制反转"和"DI依赖注入"是什么,能够解决什么问题,这些在维基百科中有非常清晰的说明. 控制反转(Inversion of Control,缩写为IoC):是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度. 依赖注入(Dependency Injection,简称DI):DI是IOC的一种实现,表现为:在类A的实例创建过程中即创建了依赖的B对象,通过类型或名称来判断将不同的对象注入到不同的属

谈谈php里的IOC控制反转,DI依赖注入(转)

转自:http://www.cnblogs.com/qq120848369/p/6129483.html 发现问题 在深入细节之前,需要确保我们理解"IOC控制反转"和"DI依赖注入"是什么,能够解决什么问题,这些在维基百科中有非常清晰的说明. 控制反转(Inversion of Control,缩写为IoC):是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度. 依赖注入(Dependency Injection,简称DI):DI是IOC的一种实现

spring IOC控制反转和DI依赖注入

spring framework 的doc地址:https://docs.spring.io/spring/docs/current/spring-framework-reference/ spring framework 作为一个优秀的开源框架,其高扩展和高可用性毋庸置疑.这篇文章记录spring framework的控制反转. 1.什么叫控制反转:在系统开发中我们要创建一个实例常见的做法就是new 一个对象(当然也还有其他创建实例的方法,eg 反射,工厂模式),这种通过程序员手动创建实例的行

IOC控制反转与DI依赖注入

控制反转(Ioc设计模式): 通过反射(通过一个字符串)来创建对象,把具体的文件名写在配置文件(XML)中,当需要修改使用的对象就可以通过修改配置文件来修改对象. 控制反转就是把对象的控制权转移,转移给Ioc容器(spring).相当于是创建了一个工厂,不过可以通过Ioc容器修改配置文件XML来修改创建什么对象. Assembly类:表示一个程序集. Configuration Manager类:提供对客户端应用程序配置文件的访问. ConfigurationManager.AppSetting

spring入门-AOP 面向切面编程

AOP 面向切面编程 在日常开发中最后将业务逻辑定义在一个专门的service包下,而实现定义在service包下的impl包中, 服务接口以IXXXService形式,而服务实现就是XXXService,这就是规约设计 步骤: 1.E:\Users\WorkSpaces\KmwalletApp\spring\aop\test\HelloWorldService.java 继承(implements)xx接口 2.E:\Users\WorkSpaces\KmwalletApp\spring\ao

Spring:AOP, 面向切面编程

AOP概述 什么是AOP, 面向切面编程 AOP为Aspect Oriented Programming的缩写, 意为:面向切面编程, 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术. AOP是OOP的延续, 是函数式编程的一种衍生范型. 利用AOP可以对业务逻辑的各个部分进行隔离, 从而使得业务逻辑各部分之间的耦合度降低, 提高程序的可重用性, 同时提高了开发的效率. - 传统开发模型: 纵向的编程.  面向切面编程: 纵横配合的编程. AOP的作用及优势 作用: 在程序运行期

Spring详解(二)------IOC控制反转

我相信提到 Spring,很多人会脱口而出IOC(控制反转).DI(依赖注入).AOP等等概念,这些概念也是面试官经常问到的知识点.那么这篇博客我们就来详细的讲解 IOC控制反转. ps:本篇博客源码下载链接:http://pan.baidu.com/s/1miwZIf2 密码:oquc 1.什么是 IOC? IOC-Inversion of Control,即控制反转.它不是什么技术,而是一种设计思想. 传统的创建对象的方法是直接通过 new 关键字,而 spring 则是通过 IOC 容器来

Spring中的Ioc控制反转与DI注入

Spring的控制反转 1.spring的介绍 spring是一款很受欢迎的java开源框架,核心全程围绕着BeanFactory展开,构成如下图. 2.IOC控制反转 2.1定义:把对象创建交给spring管理,不用new的方法,也不用工厂模式 2.2原理:1.xml配置文件,2.dom4j解析xml,3.工厂设计模式,4.反射 2.3使用:1.配置文件方式,2.注解方式 3.IOC注入bean管理  3.1.1 xml配置方式 1.就是xml配置文件中的spring创建对象的方式,也就是be

Spring的AOP面向切面编程

什么是AOP? 1.AOP概念介绍 所谓AOP,即Aspect orientied program,就是面向方面(切面)的编程. 功能: 让关注点代码与业务代码分离! 关注点: 重复代码就叫做关注点: 业务代码: 核心业务的代码 业务代码与关注点代码分离,好处? --> 关注点代码写一次即可: -->开发者只需要关注核心业务: -->运行时期,执行核心业务代码时候动态植入关注点代码: [代理] 如何分离? 过程式/对象式/代理模式分离 AOP的好处是可以动态地添加和删除在切面上的逻辑而不