谈谈对SpringIOC和AOP的理解

IOC:控制反转,是一种设计思想,将原本在程序中需要手动创建的对象交给spring框架来管理。(本来对象A需要对象B,需要用对象A来创建对象B,而现在,反转了,对象的创建全部由spring框架来完成,A需要对象B,不需要自己创建,由spring在特定的时候提供给A所需要的对象B,这就是IOC,控制反转,即把自己创建对象反转成交个程序帮忙创建对象。)IOC是由依赖注入实现的(DI),很大程度上简化了应用的开发。

AOP:面向切面编程,就是将那些公共的部分封装起来,减少代码的冗余,降低模块耦合度。AOP是基于动态代理实现的,就是为了生成动态代理对象。代理对象(就是访问对象,不会直接去访问,而是通过访问代理对象,间接的去访问要访问的那个对象。比如,如果一个领导A要找C做一件事,A是公司最大领导,B是C的部门领导,那么A直接找B就行,B就叫做代理对象,让C专注做他应该做的那件事即可,其他琐碎的事情交给B去做,B在这里充当的就是代理对象的作用。  )是目标对象的扩展,代理对象可以调用目标对象。动态代理的目的就是对原有代码进行增强。spring实现aop的原理主要分为两种动态代理cglib代理,如果目标对象是实现接口,就是用动态代理,如果没有实现接口就是用cglib代理。AOP里的名词如下:

Joinpoint(连接点):就是指目标对象中可以增强的方法,即上述的save(),delete(),update(),query()。

Pointcut(切入点):指目标对象中已经增强的方法。

Advice(通知/增强):指增强的代码,即上述的System.out.println("打开事务");与System.out.println("提交事务");

Target(目标对象):被代理的对象。

Weaving(织入):将通知应用到连接点形成切入点的过程。

Proxy(代理):将通知织入到目标对象,形成代理对象。

Aspect(切面):切入点+通知

引用博客https://blog.csdn.net/qq_38197844/article/details/89609094?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160368231919724813222859%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=160368231919724813222859&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_blog_default-1-89609094.pc_v2_rank_blog_default&utm_term=AOP&spm=1018.2118.3001.4187

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值