Spring的AOP面向切面原理,IOC控制反转也叫DI依赖注入原理
Posted JAVA ROAD
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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容器注入这种依赖关系的;
以上是关于Spring的AOP面向切面原理,IOC控制反转也叫DI依赖注入原理的主要内容,如果未能解决你的问题,请参考以下文章
Spring核心思想:IOC(控制反转)DI(依赖注入)和AOP(面向切面编程)
spring的依赖注入(DI)控制反转(IOC)和面向切面(AOP)
Spring 之 控制反转(IoC), 依赖注入(DI)和面向切面(AOP)