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容器注入这种依赖关系的;

猜你喜欢

转载自www.cnblogs.com/yuhuiqing/p/10686867.html